jetty tomcat 配置 ssl

1.生成密钥:
a.)首先生成一个pica.keystore(keystore密钥库)
备注:生产密钥库的路径最好在server服务器下。(如:jetty路径为${jetty.home}/etc/)
keytool -genkey -alias pica -keyalg RSA -dname "cn=localhost,ou=pica,o=wingware,l=china,st=beijing,c=cn" -keypass 123456 -storepass 123456 -keystore pica.keystore -validity 3600


此时会得到pica.keystore文件,[-keypass]是密钥的密码,[-storepass]是密钥库的密码,cn是域名,必须与cas服务器的域名相同(本地测试用localhost).
b.)从密钥库(pica.keystore)中导出证书pica.cer
keytool -export -trustcacerts -alias pica -file pica.cer -keystore  pica.keystore -storepass 123456

c.)将证书(pica.cer)导入JDK的cacerts
keytool -import -trustcacerts -alias pica -file pica.cer -keystore  “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit

java中cacerts证书库默认密码为changeit
可以写一个批处理文件来执行上述命令。
2.配置jetty的ssl
jetty的配置修改/etc/ jetty-ssl.xml文件。
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Set name="Port">8443</Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="AcceptQueueSize">100</Set>
<Set name="Keystore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>
<Set name="Password">123456</Set>
<Set name="KeyPassword">123456</Set>
<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>
<Set name="trustPassword">123456</Set>
</New>
</Arg>
</Call>
</Configure>

备注:
<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/keystore</Set>
<Set name="trustPassword">123456 </Set>
可以不设置,默认会取${JAVA_HOME}/lib/secutity/cacerts这个文件夹

3.启动jetty
java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml
4.配置tomcat的ssl
连接器添加到server.xml文件中。

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\Tomcat 6.0\bin\server.keystore"
keystorePass="123456" />

备注:keystoreFile为密钥库路径,keystorePass为密钥库的密码.
如果你希望客户端没有提供证书的时候SSL链接也能成功,也可以把clientAuth设置成want。
启动tomcat,访问 https://localhost:8443/,弹出一个安全警告的页面就OK了。


本地java访问https报错。

1.首先把lib\dynamic.12306.cn.crt证书导入到jdk的密钥库中
keytool -import -alias dukecert -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file icq.net.crt -storepass changeit

-keystore密钥库路径
-storepass密钥库密码

输入keystore密码:changeit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值