【发布时间】:2018-02-18 19:09:28
【问题描述】:
我正在尝试使用托管在 AWS Bitnami 上的域设置 TLS (SSL),以便用户可以通过 HTTPS 访问它。它在 Apache Tomcat 上独立运行,并且没有 LB。
要生成证书签名请求 (CSR),我有:
sudo openssl genrsa -out /opt/bitnami/apache-tomcat/conf/server.key 2048
并输入所有正确信息,即 www.hostname.com 格式的主机名,然后:
sudo openssl req -new -key /opt/bitnami/apache-tomcat/conf/server.key -out /opt/bitnami/apache2/conf/cert.csr
在我将 .csr 文件内容复制到 CA (ssl.comodo.com) 并保存生成的文件之后:.ca-bundle 和 .crt 文件。
在我将文件上传到 Tomcat 目录并将它们加载到 Java 密钥库之后:
keytool -import -trustcacerts -alias root -file www_domainname_com.ca-bundle -keystore KeyStore.jks
和.crt:
keytool -import -trustcacerts -alias tomcat -file www_domainname_com.crt -keystore KeyStore.jks
Tomcat 配置为使用此密钥库,并在 server.xml 中进行以下配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="/home/bitnami/KeyStore.jks" keystorePass="passwordhere" sslProtocol="TLS"/>
然后apache已经重新启动。我收到的浏览器错误是:
铬:
使用不受支持的协议。 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
火狐:
没有通用的加密算法。错误代码:SSL_ERROR_NO_CYPHER_OVERLAP
我的想法
基于这个 Stack Overflow 问题 here 我认为这可能与 RSA 有关 - 当我使用 -keyalg RSA 参数生成新密钥库时:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA 并将 Tomcat server.xml SSL 配置指向该站点通过 HTTPS 加载,我在浏览器中收到警告,告诉我这是一个自签名证书。
【问题讨论】:
标签: amazon-web-services tomcat ssl https bitnami