关闭

TOMCAT 6/7 中配置HTTPS

标签: tomcatlinux内存内存溢出java
112人阅读 评论(0) 收藏 举报
分类:
一、生成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 将会被使用。


 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:104577次
    • 积分:2908
    • 等级:
    • 排名:第12730名
    • 原创:193篇
    • 转载:23篇
    • 译文:0篇
    • 评论:5条