Jetty ssl配置

来源:互联网 发布:为什么没有网络图标 编辑:程序博客网 时间:2024/05/17 23:24

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

有一个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文件











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



第四步:保存keystore文件




最后一步:

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

2.配置jetty-ssl.xml文件

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


3.激活jetty-ssl.xml文件

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



然后重启jetty就大功告成!

0 0
原创粉丝点击