问题的标题是满口的,但我正在尝试配置我在AWS上为我的域购买的Go Daddy SSL证书。我从AWS购买了域myapp.com
(不是真实姓名),然后我将myapp.myapp.com
配置为Route 53中的记录集,指向EC2实例,而EC2实例又运行实际的Tomcat服务器我希望用户会打。换句话说,这是用于访问应用程序/网站的网站,我已经确认它可以使用并且可以访问。
我从Go Daddy购买了myapp.myapp.com
的SSL证书。我按照说明将根证书,中间证书和已颁发证书(总共3个)导入我的Java密钥库。然后,我将Tomcat server.xml
配置为使用此密钥库。我不确定我是否正确地做了这个,或者按照正确的顺序,如果这很重要的话。无论如何,当我试图点击地址时
https://myapp.myapp.com:8443/
我在Chrome上收到以下错误:
Your connection is not private
NET::ERR_CERT_AUTHORITY_INVALID
有人能说清楚我在这里做错了什么吗? Go Daddy的客户支持虽然免费,但不提供此级别的技术支持。我可以使用AWS,但他们倾向于收取企业费率。
理想的答案至少包括以下步骤:
以下是Go Daddy回复给我的三个证书:
c4c170b79c58acc3.crt (root?)
gd_bundle-g2-g1.crt (intermediate?)
gdig2.crt.pem (primary/issued?)
我不确定这些证书中的哪一个是根证书,中间证书和已颁发证书,但this SO question会像我上面那样标记它们。
答案 0 :(得分:0)
要为春季启动应用执行此操作,请执行以下操作:
sudo openssl pkcs12 -export -out cs.pkcs12 -inkey /path/to/domain.key -in /path/to/domain.cer -certfile /path/to/domain.ca-bundle -name server -passout somestorepass
sudo keytool -v -importkeystore -srckeystore cs.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -srcstorepass somestorepass -deststorepass somestorepass
application.properties
中的
server.ssl.enabled=true
server.ssl.key-alias=server
server.ssl.key-password=somestorepass
server.ssl.key-store-type=JKS
如果你有tomcat,前两个命令保持不变,你只需要配置tomcat即可使用正确的alias
和正确的密钥存储密码。
查看tomcat的Connector
配置以配置别名,密钥库密码,密钥库等。
编辑: 建议您在完成后删除中间文件(而不是JKS)。