Glassfish で Jersey を使用して実行する REST サーバーを開発しており、localhost の HTTPS で実行したいと考えています。
CA証明書を生成するための多くのチュートリアル、.cer / .crt / .key / .csr / ...ファイルを生成するためのチュートリアル、jksキーストアを生成するためのチュートリアルを見つけました。
しかし、彼らは私の (非常に基本的な) 質問に答えていません: 自己署名証明書を生成し、それを Glassfish のローカルホストで実行するアプリで使用するにはどうすればよいですか? crt、jks、またはその他のファイルを持つ前提条件なしで、ゼロから実際の使用のための統合まで。
(情報については、Linuxを使用しています)
ありがとう
編集:最終的に次のコマンドで証明書を作成しました
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
openssl pkcs12 -export -name localhostServerCert -in localhost.crt -inkey localhost.key -out localhostP12Keystore.p12
keytool -importkeystore -destkeystore localhostKeystore.jks -srckeystore localhostP12Keystore.p12 -srcstoretype pkcs12 -alias localhostServerCert
copy localhostKeystore.jks into /glassfish/domains/domain1/config
keytool -importkeystore -srckeystore localhostKeystore.jks -destkeystore keystore.jks
また、管理コンソールで http-listener-2 を証明書のニックネームlocalhostServerCert
で変更しましたが、https://localhost:8181 (ERR_CONNECTION_REFUSED) でエラー ページが表示されました。
編集 2 : 証明書に問題があるはずだと思いopenssl s_client -showcerts -connect localhost:8181
ますno peer certificate available
。No client certificate CA names sent