单向SSL的概念:
客户端向服务器发送消息,服务器接到消息后,用服务器端的密钥库中的私钥对数据进行加密,然后把加密后的数据和服务器端的公钥一起发送到客户端,客户端用服务器发送来的公钥对数据解密,然后在用传到客户端的服务器公钥对数据加密传给服务器端,服务器用私钥对数据进行解密,这就完成了客户端和服务器之间通信的安全问题,但是单向认证没有验证客户端的合法性。
不使用apr情况:
(1)产生密钥库
keytool -genkeypair -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore /usr/local/apache-tomcat-6.0.18/keystore
(2)在Connector上配置密钥库
<Connector port="9906" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/apache-tomcat-6.0.18/conf/keystore" keystorePass="123456"/>
使用apr情况:
(1)产生密钥库
openssl genrsa -out rsa-private-key.pem 1024
openssl req -new -x509 -nodes -sha1 -days 365 -key rsa-private-key.pem -out self-signed-cert.pem
(2)在Connector上配置密钥库
<Connector port="9906" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLSv1"
SSLCertificateKeyFile="/usr/local/apache-tomcat-6.0.18/rsa-private-key.pem"
SSLCertificateFile="/usr/local/apache-tomcat-6.0.18/self-signed-cert.pem"/>
注意:
如果connector中未指定protocol="org.apache.coyote.http11.Http11Protocol"在使用apr时,按上述配置会出错,因为不同类型的connector的配置属性不同
java.lang.Exception: No Certificate file specified or invalid file format
at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method)
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:684)
at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:107)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
加上protocol="org.apache.coyote.http11.Http11Protocol"就好了或者使用上述的apr配置
分享到:
相关推荐
Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL
nginx和tomcat配置SSL和负载均衡配置,
Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用
Tomcat6配置使用SSL双向认证
Tomcat 安装apr 支持 Tomcat Native
Tomcat配置SSL全过程
第四步:配置Tomcat服务器 打开Tomcat根目录下的/conf/server.xml,找到如下配置段,修改如下: maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="C:/tmp...
https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置
基于java的开发源码-Tomcat 安装apr 支持 Tomcat Native.zip 基于java的开发源码-Tomcat 安装apr 支持 Tomcat Native.zip 基于java的开发源码-Tomcat 安装apr 支持 Tomcat Native.zip 基于java的开发源码-Tomcat ...
linux下tomcat开启apr时需要的apr安装包,请查看博客可以看到详细的配置步骤。 linux下tomcat开启apr时需要的apr安装包,请查看博客可以看到详细的配置步骤。
关于tomcat 的ssl配置,
有关于Tomcat配置ssl证书和TOMCAT的根目录修改。然后可以用https+域名直接访问工程。。。。。。。。。。。。。。。。。。。
解决tomcat配置ssl错误的解决办法,不一定有用,只是一个备份。不需要分就是因为不一定能帮到谁。
apache Tomcat配置SSL(https)步骤
centos6搭建tomcat,apr资源包,安装时遇到的一个bug,使用最新的apr包apache无法安装成功,需要使用1.5的就好了,这些资源包找了好久
apache和tomcat整合配置 ssl
包含以上是个包,只要应用于LINUX下,用于TOMCAT优化apr连接器使用的 说明下关于TOMCAT调优一种建议 1 Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector...
包里面有apr-1.6.3.gz/apr-iconv-1.2.2.tar.gz/apr-util-1.6.1.gz/openssl-1.1.0f.tar.gz/tomcat-native-1.2.16-src.tar.gz
Tomcat配置SSL指导:1 生成Server端安全证书;2 添加Server端安全证书;3 配置需要强制使用SSL的目录或文件;
tomcat 配置ssl加密通讯tomcat 配置ssl加密通讯tomcat 配置ssl加密通讯