1

アプリケーションの https 接続をセットアップするために openSSL を使用しようとしています。Rails 3.1とruby 1.9を使用して、Trinidad 1.3.5 WebサーバーでNeo4j 1.2.2データベースを実行しています。

Thawte の試用版証明書 ca_cert.crt、中間証明書とルート証明書それぞれ ca_intermediate.crt と ca_root.crt、そして自分の秘密鍵 ca_private.pem があります。アプリの trinidad.yaml 構成ファイルで指定できるキーストアを作成するには、どの openssl コマンドを実行する必要がありますか?

これまでのところ、私が試した「最も右に見える」ことは次のとおりです。

pkcs12 –export –in ca_cert.crt inkey ca_private.pem –out keystore.p12 –name tomcat

そして、それは私にエラーを与えます:

unable to load certificates
6380:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\as
n1\tasn_dec.c:1319:
6380:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:.\
crypto\asn1\tasn_dec.c:381:Type=X509_CINF
6380:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 e
rror:.\crypto\asn1\tasn_dec.c:751:Field=cert_info, Type=X509
6380:error:0907400D:PEM routines:PEM_X509_INFO_read_bio:ASN1 lib:.\crypto\pem\pe
m_info.c:258:
error in pkcs12

.pem、.crt、.cer、および .key 拡張子のほぼすべての組み合わせを試してみましたが、openssl はファイルの形式が気に入らないように見えますが、役に立ちませんでした。私はSSLにまったく慣れていないので、愚かなことをしているだけで、簡単に修正できることを願っています...

これが私が従おうとしている例です: https://github.com/trinidad/trinidad/wiki/ssl-end-to-end-example

4

1 に答える 1

0

この回答から、Thawte 証明書は PKCS#7 としてフォーマットされているようですが、openssl pkcs12 -exportコマンドは PEM を想定しています。PKCS#7 の証明書は、以前にリンクされた回答から変更されたバージョンのコマンドを使用して変換できます。

$ openssl pkcs7 -in ca_cert.crt -print_certs | openssl x509 -outform PEM > ca_cert.pem

次に、指定したコマンドを実行すると、PKCS#12 キーストアが作成されます。

$ openssl pkcs12 –export –in ca_cert.pem -inkey ca_private.pem –out keystore.p12 –name tomcat
于 2012-07-18T12:57:16.317 に答える