原文阅读:Jetty Java Servlet 安装SSL证书
本文介绍Jetty的SSL数字证书配置,和Tomcat一样需要将证书导入到Java密钥库(keystore)中,然后配置证书路径和keystore密码即可完成证书配置,详细如下:
1. 转换证书格式
通常签发的证书是x.509标准的格式证书,例如.cer、.crt、.pem,证书的格式转换请参考:SSL/TLS证书的几种文件类型
2. 导入证书
使用JDK自带的keytool工具进行证书导入PFX格式证书,命令行工具进入JDK的keytool目录,执行下述命令:
keytool -import -alias server -trustcacerts
-file server.crt -trustcacerts
-keystore %JAVA_HOME%/jre/lib/security/cacerts
-storepass changeit
%JAVA_HOME%是指操作系统中的环境变量JAVA的环境目录,storepass指输入密码,java中cacerts证书库默认密码为changeit
注意:
-alias server的 server名称是制作CSR时生成的私钥文件名。
如果报错“java.lang.Exception: Input not an X.509 certificate”,请检查证书是否为x.509标准的证书(不含私钥、和中级证书)
3、配置keystore和密码
编辑Jetty连接配置中设置证书和密码
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.security.SslSocketConnector">
<Set name="maxIdleTime">30000</Set>
<Set name="keystore"><SystemProperty name="jetty.home" default="." />server.keystore</Set>
<Set name="password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
<Set name="keyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
<Set name="truststore"><SystemProperty name="jetty.home" default="." />server.keystore</Set>
<Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
</New>
</Arg>
</Call>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。