繁体   English   中英

在AWS Route 53中获取域托管区域的SSL证书

[英]Obtaining an SSL cert for a domain hosted zone in AWS Route 53

该问题的标题很冗长,但是我正在尝试配置我在AWS上为我的域购买的Go Daddy SSL证书。 我从AWS购买了域名myapp.com (不是真实名称),然后将myapp.myapp.com配置为Route 53中的记录集,以指向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,但是他们倾向于收取企业费率。

理想的答案至少包括以下步骤:

  1. 如何将Go Daddy证书导入我的Java梯形失真
  2. 如何正确配置Tomcat server.xml以使用密钥库
  3. 进行健全性检查,其他有类似问题的人也可以使用

以下是Go Daddy返回给我的三个证书:

c4c170b79c58acc3.crt  (root?)
gd_bundle-g2-g1.crt   (intermediate?)
gdig2.crt.pem         (primary/issued?)

我不确定这些证书中的哪一个是根证书,中间证书和已颁发证书,但是这个SO问题会像上面一样标记它们。

为此,请执行以下操作:

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)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM