2012-02-15 22 views
0

以下のように自分の証明書を作成しました。Tomcatに自己署名入りopenssl x509証明書を追加するには

openssl req -nodes -new -text -out ~/server.req -keyout ~/server.key

openssl req -x509 -in ~/server.req -text -key ~/server.key -out ~/server.crt

私は今、それが自己署名であるため、明確に、私は

openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name tomcat -CAfile serverCA.crt -caname root -chain

のTomcatのドキュメントの例を使用することはできません、Tomcatにそれを追加する必要があります。だから私はそれをTomcatにどのように追加するのですか?

+0

のJava暗号が設計されています:あなたのクライアントのためのCA証明書を含むystore Javaに自己署名証明書を受け入れる唯一の方法は、証明書に署名したルートCA証明書をJavaのデフォルトキーストアの信頼できる証明書リストに追加することです。私は数年前にこれをやったが、それは容易ではなかった。残念ながら、今は私の古いメモを見つける時間がありません。誰かが詳細を提供できることを願っています。 –

+0

Ok、歓声ルートCA証明書を追加することに関連して私が見つけられるものを見てみましょう – tojofo

+0

@tojofo:これらの証明書は何ですか?CNで作成し、自己署名しましたか? – Cratylus

答えて

0

Tomcatのドキュメントで提供されている例が機能しますが、証明書を作成するために独自のローカル認証局を作成する必要があります。

私が過去に有用このチュートリアル見つけた:そのページからhttp://gagravarr.org/writing/openssl-certs/ca.shtml

次のコマンドを:

CA.crt-CAfileフラグを使用して証明書を作成する際に使用されるものになります
openssl genrsa -des3 -out CA.key <key_size> 
openssl req -new -key CA.key -x509 -days 1095 -out ../certs/CA.crt 

希望に役立ちます。

+0

私はCA.crtを作成しましたが、Tomcatのドキュメントにフォームのコマンドを使用して追加しようとしていて、上にリストされていても、私はまだそれを取得しています。 'エラー自己署名証明書チェーンを取得しています。 ' – tojofo

0

古いノートが見つかりました。

自己署名証明書は使用できません。あなたがしなければならないことは長いルートを移動し、次のように、「本物の」ローカルCAを生成します:

ルートCA証明書の証明書署名要求の生成CA

openssl genrsa -out CA/cakey.pem -des3 2048 

のための秘密鍵を生成します

openssl req -new -config openssl.cnf -key CA/cakey.pem -out CA/cacert.req 

自己署名CA証明書

openssl x509 -req -in CA/cacert.req -extfile openssl.cnf \ 
    -extensions v3_ca -signkey CA/cakey.pem -out CA/cacert.pem -days 3650 

のJava KEを生成しますそれは戻って信頼できるCAへの有効なチェーンを_requires_よう

keytool -importcert -file CA/cacert.pem -keystore client.jks -storepass [password] 
+1

これでキーを取得できましたが、起動時に' java.io.IOException:jsse.invalid_ssl_conf'が発生しました。 '有効になっているSSL暗号スイート'ドキュメントは誤ったエイリアスを示唆し、 'keyAlias'を指定してもそれを解決しません。また、一つのキーしかなく、デフォルトではそれを読むべきです。 AJPコネクタを使用する必要がありますか? – tojofo