2011-01-11 11 views
0

KeyToolを使用してキーストアに追加された証明書があります。プロダクション/テスト環境で使用するための秘密鍵も提供されています。証明書が公開鍵を使用していることを理解しています。キーストアとプライベートキーは、コマンドラインプログラムで読むことができる場所に配置します。次のキーはキーストアを読み取ります。java証明書とキーストアでプライベートキーを使用していますか?

System.setProperty("javax.net.ssl.keyStore", "xxx.ks"); 
System.setProperty("javax.net.ssl.keyStorePassword", "xxx_4ps!"); 
System.setProperty("javax.net.ssl.trustStore", "xxx.ks"); 
System.setProperty("javax.net.ssl.trustStorePassword", "xxx!");. 

ここでは、プログラムによって読み取られる秘密鍵を配置する必要があります。私は公開鍵/秘密鍵の暗号化を初めて利用していますので、どんな助けにも感謝します。

種類よろしく、 Mateen

答えて

2

秘密鍵とそれに対応する証明書は、javax.net.ssl.keyStoreにあります。

信頼する証明書は、javax.net.ssl.trustStoreに移動します。多くの場合、独自のJDKで提供されているデフォルトを使用します。この場合、このプロパティはまったく指定されません。

1

これらのプロパティは、証明書にだけ間接的にキーを指しています。したがって、まず証明書を取得してキーストアに入れなければなりません。

「javax.net.ssl.keyStore」は、システムを識別するために使用される証明書を持つキーストアに使用されます。デフォルトでは、追加のコードなしで、キーストアごとに1つのID証明書しか使用できません。証明書を作成するには、自己署名証明書を作成する方法と、CSRを作成して認証機関に送信して署名する方法の2つの方法があります。

および http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#certreqCmdコマンドを参照してください。

証明書が作成されると、それに関連付けられたプライベートキーと公開キーがあります。

"javax.net.ssl.trustStore"は、信頼する証明書を持つキーストアを指します。つまり、システムはこの鍵ストアの証明書でのみSSL接続を受け入れるか、この鍵ストアからの証明書で署名されます。これらの証明書は、次のコマンドを使用してキーストアに追加できます。 http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#importCmd

キーストアは、好きな場所に置くことができます。 Javaプロセスにアクセスできることを確認してください。

+0

これはほとんど無関係です。彼はすでに秘密鍵と証明書を持っています。 – EJP

+0

秘密鍵がどこから来て、どのように証明書に関連するのかを説明します。限り、男はそれに新しいですいくつかの説明を論理的に聞こえる。 – Stas

+0

説明が間違っています。証明書で始めるのではなく、まず秘密鍵を生成します。また、トラストストアの説明には、長さ> 2の証明書チェーンは含まれません。 – EJP

関連する問題