.P12証明書ファイルをJKSキーストアに変換するのに助けが必要です。私は、Javaのkeytoolユーティリティを使用して標準コマンドを実行しました。ただし、結果のJKSファイルを使用してSOAPUI経由でWSエンドポイントにアクセスしようとすると、403.7エラーが発生します-禁止:SSL証明書が必要です。同じエンドポイントに対してSOAPUIでP12ファイルを使用すると、正常な応答が生成されます。以下は、P12キーストアをJKSキーストアにインポートするための標準コマンドです。
keytool -importkeystore -srckeystore src.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore target.jks
また、opensslを使用してP12-> PEM-> DER-> JKSを変換してみました。
openssl pkcs12 -in src.p12 -out src.pem -clcerts
(src.pemを編集して、src.keyとsrc.cerという2つの複合パーツにします)
openssl pkcs8 -topk8 -nocrypt -in src.key -out key.der -inform PEM -outform DER
openssl x509 -in src.cer -inform PEM -out cert.der -outform DER
(2つのキーをkeystore.ImportKeyに結合するユーティリティを実行しました)
keytool -importkeystore -srckeystore keystore.ImportKey -destkeystore target.JKS
同様にサイコロもありません。
行方不明のものはありますか?
KeytoolアプリケーションとPKCS#12ファイルがある場合は、1行のコマンドを起動します。
keytool -importkeystore -srckeystore [MY_FILE.p12] -srcstoretype pkcs12
-srcalias [ALIAS_SRC] -destkeystore [MY_KEYSTORE.jks]
-deststoretype jks -deststorepass [PASSWORD_JKS] -destalias [ALIAS_DEST]
これらのパラメーターを変更する必要があります。
MY_FILE.p12
:変換するPKCS#12ファイル(.p12または.pfx拡張子)へのパスを示します。MY_KEYSTORE.jks
:証明書を保存するキーストアへのパス。存在しない場合は、自動的に作成されます。PASSWORD_JKS
:キーストアを開くときに要求されるパスワード。ALIAS_SRC
:PKCS#12ファイルの証明書エントリと一致する名前。たとえば、「Tomcat」。.PFX
ファイルを生成するWindowsサーバーから証明書をエクスポートする場合は、Windowsによって作成された「エイリアス」名を取得する必要があります。これを行うには、次のコマンドを実行します。
keytool -v -list -storetype pkcs12 -keystore FILE_PFX
そこで、「エイリアス名」フィールドは、コマンドラインで使用する必要がある証明書のストレージ名を示します。
ALIAS_DEST
:JKSキーストアの証明書エントリと一致する名前、たとえば「Tomcat」。しかし、彼は.p12をJKSに変換する方法を尋ねたので、答えは次のとおりです。
keytool -importkeystore -srckeystore mystore.p12 -destkeystore myotherstore.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey -destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
この行を使用するだけで、うまくいきました。
なぜこれほど長い間誰もこの質問に答えていないのか、私は驚いています。とにかく、p12をjksに変換する最も簡単な方法は、Keytoolを使用することです。以下は、使用する必要があるコマンドです。
keytool -importkeystore -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
あなたが直面している問題は、おそらくキーパスを提供しなかったためだと思います。サーバーはキーパスとストアパスを区別できない場合があるため、キーパスとストアパスを同じに保つことをお勧めします。