所有 .
最近,我们想在Linux平台上构建一些HTTPS服务,以提供一些安全内容 .
Firstly ,我们在TOMCAT官方网站上找到了指导Apache Tomcat 7(7.0.42) - SSL配置HOW-TO.htm,并且有两种安装HTTPS服务的解决方案 . (http://www.cjsdn.net/Doc/Tomcat7/ssl-howto.html)
(1)JSSE:在JDK中使用keytool生成密钥库和证书 . 将以下代码插入到TOMCAT文件夹CONF中的文件 server.xml 中 . 实施的协议是'org.apache.coyote.http11.Http11NioProtocol' .
< Connector SSLEnabled="true" acceptCount="800" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="400"
port="8443" keystoreFile="/home/jsse/sslserverkeys" keystorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />
启动TOMCAT服务,所有程序都可以 . 人们可以使用broswer打开“https://XX.XX.XX.XX:8443/SSLpages/Resource_mp.xml” .
(2)APR:安装OPENSSL,安装APR包,安装TOMDAT-NATIVE,然后将以下代码插入server.xml . 实施的协议是'org.apache.coyote.http11.Http11AprProtocol' . 通过OPENSSL命令生成以下KEY和证书 .
CA - KEY和证书
-
openssl genrsa -out ca-key.pem 1024
-
openssl req -new -out ca-req.csr -key ca-key.pem
-
openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 3650
-
openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12
服务器 - 密钥和证书
-
openssl genrsa -out server-key.pem 1024
-
openssl req -new -out server-req.csr -key server-key.pem(10.180.26.156)
-
openssl x509 -req -in server-req.csr -out server-cert.pem -signkey server-key.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 3650
-
openssl pkcs12 -export -clcerts -in server-cert.pem -inkey server-key.pem -out server.p12
<Connector protocol =“org.apache.coyote.http11.Http11AprProtocol”SSLEnabled =“true”acceptCount =“800”maxThreads =“400”enableLookups =“false”disableUploadTimeout =“true”port =“8443”SSLProtocol =“TLSv1 “SSLCipherSuite =”ALL“scheme =”https“secure =”true“SSLCertificateFile =”/ home / apr / ssl / server-cert.pem“SSLCertificateKeyFile =”/ home / apr / ssl / server-key.pem“SSLCACertificateFile = “/home/apr/ssl/ca-cert.pem”SSLCACertificatePath =“/ home / apr / ssl”SSLPassword =“123456”/>
启动TOMCAT服务,所有程序都可以(包括OPENSSL组件) . 人们可以使用broswer打开“https://XX.XX.XX.XX:8443/SSLpages/Resource_mp.xml” .
Secondly ,安装HTTPS后,必须启动性能测试程序 .
我们发现了很多关于测试“访问页面并发性”的工具,最后,“Siege”很棒且易于使用 . 它只是在Linux上运行,就像:
siege -c 500 -r 50 -u "https://XX.XX.XX.XX:8443/SSLpages/Resource_mp.xml"
(1)TOMCAT - JSSE模型在Linux上运行上述命令后,可以实现正确的结果列表 .
交易内容:25000
点击率:100.00%
秒交易率:677.51
trans / sec吞吐量:2.36 MB /秒
并发:16.90
成功交易:25000
交易失败:0
(2)TOMCAT - APR模型
siege -c 50 -r 10 -u "https://XX.XX.XX.XX:8443/SSLpages/Resource_mp.xml"
在Linux上运行上面的命令后,正确的结果列表 can not be achieved .
成功交易:0
交易失败:500
为什么?并且攻城工具没有在LOG中写入任何ERROR消息 .
我应该将CA证书插入OPENSSL默认文件夹吗?
我应该生成关于信任CA证书的信任文件并将其放入某个地方吗?
但是在JSSE模型中,我只生成JDK的密钥库,可以通过tomcat导入 . 围攻可以成功运作 .
任何帮助或建议将受到高度赞赏!
1 回答
听起来您的证书和/或CA证书文件没有客户在服务器和公认的CA之间 Build 信任链所需的CA证书(或链证书) .
您是否需要CA的中间证书?你在
SSLCACertificateFile
或SSLCACertificatePath
安装了它们吗?如果你指定两者,我不确定Tomcat会做什么,BTW .