我尝试按照以下步骤安装我从Godaddy(CN =我的域名)购买的SSL证书。在最后一步之后,我在repository / conf目录中对.jks进行了GREP搜索,并将所有密钥库配置(wso2carbon.jks)替换为我的JKS和密码。重启服务器。它开始出现一堆错误,服务器无法正常启动..但是当我改变了catalina_server.xml的配置并撤消所有其他配置时,它启动了,SSL只适用于9443端口,但当我检查了一个SSL检查工具,它说cert没有正确安装。甚至API网关端点也没有使用SSL(浏览器拒绝证书),它是端口8244.我做错了什么?下面给出了例外情况。
创建密钥库和CSR
keytool -genkey -alias certalias -keyalg RSA -keysize 2048 -keystore newkeystore.jks
创建CSR - 复制输出并提交给Go Daddy。
keytool -certreq -alias certalias -keystore newkeystore.jks
获取tomcat的证书,您将获得以下证书。
gd_bundle-g2-g1.crt - Root Certificate
gdig2.crt.pem - Intermediate Certificate
[randomNumber].crt - Domain Certificate
将crt转换为pem。
openssl x509 -in gd_bundle-g2-g1.crt -out gd_bundle-g2-g1.pem
openssl x509 -in [randomNumber].crt -out [randomNumber].pem
加入根证书和中间证书
cat gdig2.crt.pem gd_bundle-g2-g1.pem >> clientcertchain.pem
从密钥库中提取密钥。
keytool -importkeystore -srckeystore newkeystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias keys -deststorepass -destkeypass
openssl pkcs12 -in keystore.p12 -nodes -nocerts -out key.pem
创建pkcs12密钥库
openssl pkcs12 -export -out final.p12 -inkey key.pem -in [randomNumber].crt -CAfile clientcertchain.pem -name "cacertificates"
从pkcs keystore创建JKS。
keytool -importkeystore -srckeystore final.p12 -srcstoretype PKCS12 -destkeystore wso2carbon.jks
将其替换为<WSO2AM_HOME>/repository/resources/security/
转到<WSO2AM_HOME>/repository/resources/security/
提取密钥文件以添加客户端密钥库
keytool -export -alias cacertificates -keystore newkeystore.jks -file .pem
将密钥添加到client-truststore.jks
keytool -import -alias cacertificates -file .pem -keystore client-truststore.jks -storepass wso2carbon