SSL 配置问题

SSL 配置问题

我已经使用 keytool 生成了 SSL 证书:

keytool -keystore keystore -alias mySite -genkey -keyalg RSA -keysize 2048

我已经配置好了并且运行正常,但显然它没有经过受信任的 CA 签名,因此我生成了一个 CSR:

keytool -certreq -alias mySite -keystore keystore -file mySite.csr

GoDaddy 返回给我两个证书,我将其导入到我的密钥库中:

keytool -keystore keystore -import -alias mySite.com -file mySite.com.crt
keytool -keystore keystore -import -alias gd_bundle -file gd_bundle.crt

我以为这样就足够了,但当我通过浏览器访问我的应用程序时,仍然收到不受信任的证书警告。我是不是漏掉了什么步骤?我的应用程序在 Jetty 上运行,我提供的唯一配置是密钥库和密钥密码。

我收到以下异常:

javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

答案1

经过几个小时的折腾,我终于找到了解决方案。我最终使用了以下openssl方法keytool

openssl genrsa -des3 -out mysite.key 2048
openssl req -new -key mysite.key -out mysite.csr

提交 CSR,一旦您获得证书:

openssl pkcs12 -export -chain -CAfile gd_bundle.crt -in mysite.com.crt -inkey mysite.key -out mysite.pkcs12
java -classpath jetty-util-6.1.26.jar:jetty-6.1.26.jar org.mortbay.jetty.security.PKCS12Import mysite.pkcs12 keystore

希望其他人发现这很有用!

相关内容