0

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

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!");. 

プログラムが読み取る秘密鍵をどこに置く必要がありますか。公開鍵/秘密鍵の暗号化は初めてなので、助けていただければ幸いです。

敬具、マティーン

4

2 に答える 2

2

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

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

于 2011-01-12T02:56:50.080 に答える
1

これらのプロパティは証明書を指しており、キーを間接的に指しています。そのため、まず証明書を取得してキーストアに配置する必要があります。

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

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#selfcertCmdおよび 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プロセスがそれらにアクセスできることを確認してください。

于 2011-01-11T14:35:53.647 に答える