tomcat配置https协议,在很多项目都会应用的.下面是在redhat7中测试搭建tomcat,其中遇到了一些问题如下
一、部署tomcat(apache-tomcat-7.0.92),部署很简单这里就不多说了.
注:测试中没有安装jdk,而是使用系统自带的,版本java version "1.7.0_51" .有坑
正常配置证书后,在网页中访问报错,如下:
ie提示:
在高级设置中启用 TLS 1.0、TLS 1.1 和 TLS 1.2,然后尝试再次连接到 https://192.168.161.234:8443 。如果此错误依然存在,则可能是因为此站点使用了不受支持的协议或不安全的密码套件,例如 RC4 (详细信息链接)。请与站点管理员联系。
火狐提示:
连接到 192.168.161.234:8443 时发生错误。无法安全地与对等端通信:没有双方共用的加密算法。 错误代码:SSL_ERROR_NO_CYPHER_OVERLAP
由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。
建议向此网站的管理员反馈这个问题。
问题原因:apache-tomcat-7.0.92官网要求java 6。tomcat JAVA_HOME目录指向java6就可以了
二、制作证书
1、通过keytool 工具制作
keytool -genkeypair -alias "tomcat" -keyalg RSA -keystore tomcat.keystore
就一条命令就可以使用了.这个只是临时测试使用.
2、通过openssl工具制作
自己搭建了CA服务器
操作:
vi /etc/pki/tls/openssl.cnf
#配置证书密钥等
cd /etc/pki/CA
mkdir newcerts crl
touch index.txt
echo 01 > serial
(umask 077; openssl genrsa -out private/cakey.pem 2048)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem
制作证书:
openssl genrsa -des3 -out tomcat.key 2048
openssl req -new -key tomcat.key -out tomcat.csr
openssl x509 -req -days 3650 -sha256 -CA /etc/pki/CA/cacert.pem -CAkey /etc/pki/CA/private/cakey.pem -CAcreateserial -in tomcat.csr -out tomcat.crt
openssl pkcs12 -export -in tomcat.crt -inkey tomcat.key -out tomcat.p12 -name "tomcat"
keytool -importkeystore -v -srckeystore tomcat.p12 -srcstoretype pkcs12 -destkeystore tomcat.keystore -deststoretype jks