`
wingware
  • 浏览: 141992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics