Jetty ssl配置

以前接手到这样一个需求:

有一个apache使用的ssl证书,需要把该证书放置到jetty上使用,下面就把这过程记录下来,以备以后使用


过程中涉及到Keytool、Keystore和Portecle工具的概念,下面先做一下准备


Keytool和Keystore概念:

Keytool 是一个有效的安全钥匙和证书的管理工具

Java 中的 keytool.exe(位于JDK\Bin目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别) 的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 

Keytool 把钥匙和证书储存到一个 keystore. 默任的实现 keystore 的是一个文件 . 它用一个密码保护钥匙 .


Portecle工具:

Portecle 是一个图形化界面的 JDK 中的命令行工具 keytool,可生成各种不同类型的密钥库,生成并存储相关的X.509证书、生成 CSRs、导入和储存信任的证书并进行维护。

附上下载地址:http://download.csdn.net/detail/lzw_2006/7482933


下面正式开始导入

目前我们手上有 server.crt 证书 以及 对应的私钥 server.key 


第一步:将crt文件和key文件储存到p12 key pair中

openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name jetty

其中 -name是这个钥匙对文件的别名,在Keystore里面需要这样的一个别名来区分钥匙对

接下来他会提示用户为这个p12文件创建密码


这里设置为123456,记住这个密码,因为后面导入keystore时需要用到


第二步:利用Portecle创建keystore文件

新建一个JKS类型的keystore





第三步:在keystore中导入第一步生成的p12文件





Jetty ssl配置_第1张图片


Jetty ssl配置_第2张图片




最后就能看到keystore里面导入了Alias Name叫jetty的钥匙对



第四步:保存keystore文件

Jetty ssl配置_第3张图片

Jetty ssl配置_第4张图片


最后一步:

1.把keystore文件复制到jetty的etc文件夹去

2.配置jetty-ssl.xml文件

配置3个地方,一个是指定keystore文件路径,第二个是设置keystore的密码(123),第三个是设置keystore里面keypair的密码(123456)

Jetty ssl配置_第5张图片

3.激活jetty-ssl.xml文件

在jetty的根目录下找到start.ini文件,把 "etc/jetty-ssl.xml"前面的#给去掉



然后重启jetty就大功告成!

你可能感兴趣的:(ssl,jetty)