我已經遇到過去的這個問題,並且通過使用OpenSSL生成CSR並在必須(僅輸入&導出證書和密鑰)時只使用keytool解決此問題。
編輯:這裏是TL,我所做的
博士有一個req.cfg
文件看起來是這樣的:
[req]
req_extensions = v3_req
[v3_req]
subjectAltName = @san
[san]
DNS.1 = *.mydomain.com
DNS.2 = mydomain.com
然後運行這個命令:
$ openssl req -new -newkey rsa:2048 -sha256 -nodes -out keypair.csr -keyout keypair.key -config req.cfg
現在,你有您的證書籤名請求和私鑰,您可以將您的CSR發送到CA或使用OpenSSL使用剛剛生成的keypair.csr
自簽名證書。然而,你這樣做,我們假設你得到一個證書,我們會打電話mycert.crt
現在你已經完成了很多工作,但棘手的部分是你現在需要在你之前將你的證書密鑰對轉換成PKCS12密鑰庫試圖導入你的JKS密鑰庫。
openssl pkcs12 -export -name mycertname -in mycert.crt -inkey keypair.key -out keystore.p12
keytool -importkeystore -destkeystore keystore.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias mycertname
參見[這](https://stackoverflow.com/questions/33827789/self-signed-certificate-dnsname-components-must-begin-with-a-letter) –