amazon-web-services - AWS Tomcat SSL 浏览器错误 - 我错过了什么?

标签 amazon-web-services tomcat ssl https bitnami

我正在尝试为我在 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 keystore 中:

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 中配置为使用此 keystore 和以下配置:

<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已经重启了。我收到的浏览器错误是:

Chrome :

uses an unsupported protocol. ERR_SSL_VERSION_OR_CIPHER_MISMATCH

火狐:

no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP

我的想法

基于这个 Stack Overflow 问题 here我认为这可能与 RSA 有关 - 当我使用 -keyalg RSA 参数生成新的 keystore 时: $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA 并将 Tomcat server.xml SSL 配置指向该站点通过 HTTPS 加载,我在浏览器告诉我这是一个自签名证书。

最佳答案

如果您想使用 OpenSSL 生成,则必须将私钥和证书链(不仅仅是证书)转换为可用于 Java 的 keystore ,即 PKCS12 或 JKS。

如果您想使用 Java 生成,请使用 keytool -genkeypair -keyalg RSA(并在 j7 之前添加 -keysize 2048),然后 您使用 Java keytool 生成您提供给 CA (Comodo) 的 CSR,然后您使用 Java keytool 从 CA 导入新证书及其链.

请参阅 (my) https://stackoverflow.com/a/37423399/2868801 中的选项以及那里链接的其他几个骗局。

关于amazon-web-services - AWS Tomcat SSL 浏览器错误 - 我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140502/

相关文章:

java - JSTL 的 HTTP 客户端

java - tomcat处理错误页面时没有语言环境?

java - mod_jk1.2.32 的 JK Status Manager(status worker) 没有在 Web 界面上显示正确的 worker 状态

c++ - SChannel/SSL 实现?

python - 使用Python无需验证即可从对等方获取SSL证书

tomcat - SSL fatal error ,握手失败 40

python - AWS/EB - 受到内部虚拟连接的影响

php - 使用curl获取数据失败

database - AWS EC2 和 Redshift 安全组连接错误

javascript - 通过 Node SDK 在 AWS 上复制文件时“访问被拒绝”