TOMCAT 6/7 中配置HTTPS
2016-05-31 09:58
441 查看
一、生成cyjch.keystore
keytool -genkey -alias cyjch -keyalg RSA -keystore cyjch.keystore -dname "CN=zspuren.com, OU=zspuren.com, O=zspuren.com, L=SH, ST=SH, C=CN" -keypass cyjch_123456 -storepass cyjch_123456
二、生成cyjch.cer证书
keytool -export -alias cyjch -keystore cyjch.keystore -file cyjch.cer -storepass cyjch_123456
三、 导入证书
keytool -import -file cyjch.cer -storepass cyjch_123456 -keystore cyjch.truststore -alias serverkey -noprompt
四、将所访问的https站点的证书加入jre的信任证书中
keytool -import -alias cyjch -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/cacerts" -trustcacerts -file cyjch.cer -storepass cyjch_123456(windows)
keytool -import -alias cyjch -keystore "$JAVA_HOME/jre/lib/security/cacerts" -trustcacerts -file cyjch.cer -storepass cyjch_123456(linux)
如果出现 keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect 则把%JAVA_HOME%/JRE/LIB/SECURITY的cacerts文件删除就可以了
然后将导入的cacerts加上执行权限
[root@computer1 security]# chmod a+x cacerts
五、 TOMCAT 6中server.xml文件配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true" clientAuth="false"
keystoreFile="c:\cyjch.keystore" keystorePass="123456"
truststoreFile="c:\cyjch.truststore" truststorePass="123456"/>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true" clientAuth="false"
keystoreFile="/opt/soft/tomcat-https/cer/cyjch.keystore" keystorePass="cyjch_123456"
truststoreFile="/opt/soft/tomcat-https/cer/cyjch.truststore" truststorePass="cyjch_123456"/>
属性说明:
clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
truststorePass:根证书密码
属性说明:
port: 这个port属性(默认值是8443)是 TCP/IP端口数码,Tomcat在其上监听安全连接。你可以把它更改成任何你愿意要的数值(如默认的https通信,数目是443)。不过
,在许多操 作系统中,要想在比1024小的端口数码上运行Tomcat,需要特殊的设置(它超出了这个文档资料的范围)。
redirectPort: 如 果你在这里更改端口数值,你还必须更改在non-SSL连接器上的redirectPort 这个属性特定的值。这允许Tomcat自动地redirect那些试图访问有安全限制
页面的用户,指明根据 Servlet 2.4 Specification要求,SSL是必需的。
clientAuth: 如果你想要Tomcat要求所有的SSL客户在使用这个socket时出示用户认证书,把这个值设定为 true 。如果你想要Tomcat要求出示用户认证书,但是如果没有认
证书也可以, 就把这个值设定为want 。
keystoreFile: 如 果你产生的keystore文件不在Tomcat期望的默认地方(一个叫做.keystore 的文件在Tomcat运行的主目录),就添加这个属性。你可以指定一个绝对路径名
称, 或者一个由$CATALINA_BASE环境变量而派生的相对路径名称。
keystorePass: 如果你使用一个不同的keystore(以及认证书)密码,而不是Tomcat期望的密码 (就是changeit),添加这个元素。
keystoreType: 如果使用一个PKCS12 keystore的话,就添加这个element。 有效的值是JKS 和 PKCS12。
sslProtocol: 要在这个socket上被使用的加密/解密协定。如果你在使用Sun的JVM,我们不提倡更改 这个值。据报道,TLS协定的IBM's 1.4.1 实现与一些通用的浏览器不
兼容。 如果是这样,就使用value SSL。
ciphers: 这个socket允许使用的由逗号分隔开的加密密码列单。默认的情况下,任何可用的密码都允许被使用。
algorithm: 可用的X509算法。默认是Sun的实现( SunX509 )。 对于IBM JVMs,你应该使用值 IbmX509。对于其他卖主,查阅JVM文档资料来 找正确的值。
truststoreFile: 用来验证用户认证书的TrustStore文件。
truststorePass: 访问TrustStore的密码。默认值就是keystorePass的值。
truststoreType: 如果你在使用与KeyStore不同格式的TrustStore,添加这个元素。 合法的值是JKS和PKCS12
keyAlias: 如果 keystore 里面有多个 key,你可以为用这个选项为加入的 key 起一个名字。 如果没有指定名字,使用时 keystore 内的第一个 key 将会被使用。
keytool -genkey -alias cyjch -keyalg RSA -keystore cyjch.keystore -dname "CN=zspuren.com, OU=zspuren.com, O=zspuren.com, L=SH, ST=SH, C=CN" -keypass cyjch_123456 -storepass cyjch_123456
二、生成cyjch.cer证书
keytool -export -alias cyjch -keystore cyjch.keystore -file cyjch.cer -storepass cyjch_123456
三、 导入证书
keytool -import -file cyjch.cer -storepass cyjch_123456 -keystore cyjch.truststore -alias serverkey -noprompt
四、将所访问的https站点的证书加入jre的信任证书中
keytool -import -alias cyjch -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/cacerts" -trustcacerts -file cyjch.cer -storepass cyjch_123456(windows)
keytool -import -alias cyjch -keystore "$JAVA_HOME/jre/lib/security/cacerts" -trustcacerts -file cyjch.cer -storepass cyjch_123456(linux)
如果出现 keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect 则把%JAVA_HOME%/JRE/LIB/SECURITY的cacerts文件删除就可以了
然后将导入的cacerts加上执行权限
[root@computer1 security]# chmod a+x cacerts
五、 TOMCAT 6中server.xml文件配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true" clientAuth="false"
keystoreFile="c:\cyjch.keystore" keystorePass="123456"
truststoreFile="c:\cyjch.truststore" truststorePass="123456"/>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true" clientAuth="false"
keystoreFile="/opt/soft/tomcat-https/cer/cyjch.keystore" keystorePass="cyjch_123456"
truststoreFile="/opt/soft/tomcat-https/cer/cyjch.truststore" truststorePass="cyjch_123456"/>
属性说明:
clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
truststorePass:根证书密码
属性说明:
port: 这个port属性(默认值是8443)是 TCP/IP端口数码,Tomcat在其上监听安全连接。你可以把它更改成任何你愿意要的数值(如默认的https通信,数目是443)。不过
,在许多操 作系统中,要想在比1024小的端口数码上运行Tomcat,需要特殊的设置(它超出了这个文档资料的范围)。
redirectPort: 如 果你在这里更改端口数值,你还必须更改在non-SSL连接器上的redirectPort 这个属性特定的值。这允许Tomcat自动地redirect那些试图访问有安全限制
页面的用户,指明根据 Servlet 2.4 Specification要求,SSL是必需的。
clientAuth: 如果你想要Tomcat要求所有的SSL客户在使用这个socket时出示用户认证书,把这个值设定为 true 。如果你想要Tomcat要求出示用户认证书,但是如果没有认
证书也可以, 就把这个值设定为want 。
keystoreFile: 如 果你产生的keystore文件不在Tomcat期望的默认地方(一个叫做.keystore 的文件在Tomcat运行的主目录),就添加这个属性。你可以指定一个绝对路径名
称, 或者一个由$CATALINA_BASE环境变量而派生的相对路径名称。
keystorePass: 如果你使用一个不同的keystore(以及认证书)密码,而不是Tomcat期望的密码 (就是changeit),添加这个元素。
keystoreType: 如果使用一个PKCS12 keystore的话,就添加这个element。 有效的值是JKS 和 PKCS12。
sslProtocol: 要在这个socket上被使用的加密/解密协定。如果你在使用Sun的JVM,我们不提倡更改 这个值。据报道,TLS协定的IBM's 1.4.1 实现与一些通用的浏览器不
兼容。 如果是这样,就使用value SSL。
ciphers: 这个socket允许使用的由逗号分隔开的加密密码列单。默认的情况下,任何可用的密码都允许被使用。
algorithm: 可用的X509算法。默认是Sun的实现( SunX509 )。 对于IBM JVMs,你应该使用值 IbmX509。对于其他卖主,查阅JVM文档资料来 找正确的值。
truststoreFile: 用来验证用户认证书的TrustStore文件。
truststorePass: 访问TrustStore的密码。默认值就是keystorePass的值。
truststoreType: 如果你在使用与KeyStore不同格式的TrustStore,添加这个元素。 合法的值是JKS和PKCS12
keyAlias: 如果 keystore 里面有多个 key,你可以为用这个选项为加入的 key 起一个名字。 如果没有指定名字,使用时 keystore 内的第一个 key 将会被使用。
相关文章推荐
- TCP如何实现可靠性
- 机器学习算法比较
- selenium 对于网络延时怎么处理?
- hdu 3046(最小割最大流)
- http post请求时content-type的几种取值
- HttpClient的用法(包含httpget和httppost)
- HttpUrlConnection的用法
- 常见http返回的状态码response code含义
- 【转】数据挖掘系列(10)——卷积神经网络算法的一个实现
- delphi根据网络链接截取域名
- TCP/UDP简单介绍及JavaSocket的使用
- 5.30计算机网络
- 正确配置了vmare网络配置,但是在NAT模式下,虚拟机没法自动获取ip地址
- iOS原生Http请求,get post 异步
- 《图解TCP/IP》读书笔记(4)
- 获取局域网中网络用户名、IP以及MAC
- webService验证客户端(HTTP Basic认证)
- iOS 根据网址URL下载并播放网络音频文件
- 如何在神箭手云爬虫上写爬虫
- iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名)