服务器的测试环境:Linux,JDK1.6,Tomcat6。如果服务器是 Apache,请参考
http://blog.csdn.net/zhaoxy_thu/article/details/21133399 这篇文章。
所有命令都是在 Linux(Root)用户下操作的。测试环境生成的 SSL 证书用得是
Linux 自带的 OpenSSL(v0.9.8e)软件包。如果没有安装请先安装。我的测试目录
是在 home/tomcat 下进行的,其它的目录也可以,请自行确定。
以下命令中有要求输入密码和类似密码的地方,请保持密码的一致性。如我测
试 时 6 位 密 码 统 一 为 :bonces , 2 位 密 码 统 一 为 ca 。 Common Name 和
organization Name 名字我统一为 bonc。也可以自行决定,只要保证上下
文密码一致性即可。
一、 首先我们生成服务端和客户端所需要的证书。
1. 生成服务器的私钥:
opensslgenrsa-outserver.key1024
2. 生成签署申请(注意除 Common Name 和 organization Name 以外可以为空 ,
Common Name 必须为服务器的 ip 或域名):
opensslreq-new–outserver.csr-keyserver.key
3. 生成 CA 私钥:
opensslgenrsa -outca.key1024
4. 利用 CA 的私钥产生 CA 的自签署证书(注意除 Common Name 和 organization
Name 以外可以为空,Common Name 必须为服务器的 ip 或域名,organization
Name 必须和上一次一致)(3650 表示有效期 10 年):
opensslreq-new-x509-days3650-keyca.key-outca.crt
5. 在 Linux 根目录创建 CA 文件夹,里面创建文件夹 newcerts 以及文件 index.txt 和
serial,serial 内容为 01,index.txt 为空。CA 为网站服务器签署证书:
opensslca-inserver.csr-outserver.crt-certca.crt-
keyfileca.key
6. 把服务端代码转换浏览器可以识别的 PCS12 格式:
opensslpkcs12-export-inca.crt-inkeyca.key-outserve
r.p12
7. 使用 jetty 中的 PKCS12Import 工具类完成转换。(jetty-5.1.10.jar 可在文件夹中
找到):
java-cpjetty-5.1.10.jarorg.mortbay.util.PKCS12Importse
rver.p12server.jks
至此客户端证书 ca.crt 以及 tomcat 服务器证书 server.jks 已经生成完毕。
- 1
- 2
- 3
前往页