实验环境:Mac OSX 10.9.2,Tomcat 7.0.14,JDK 1.6
一、制作自签名 CA 证书(根证书)
首先我们需要明确自己作为 CA(证书发行机构)的好处。自签名证书并不稀奇,许多企业都在使用自签名证书,但一般意义上的自签名证书和自己作为 CA 发行的自签名证书不一样。自己做CA,可以允许我们用自己的根证书(CA 证书)发行叶证书,这样在安装了根证书的客户端上,这个 CA 的所有叶证书都是“可信任”的。
CA 证书的制作有两个步骤:
1、创建一个私钥文件:
openssl genrsa -out myCA.key 2048
私钥文件名为 myCA.key。
2、然后创建根证书:
openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj/CN="My Custom CA"
根证书文件名为 myCA.cer,机构名称为 My Custom CA。
二、制作自签名 SSL 证书(叶证书)
1、首先创建一个私钥:
openssl genrsa -out server.key 2048
私钥文件名为 server.key。
2、然后创建 CSR:
openssl req -new -out server.req -key server.key -subj /CN=127.0.0.1/CN=192.168.2.1/CN=localhost
这里假设服务器的IP 为192.168.2.1。输出文件为 server.req。
3、然后用CSR 去创建 SSL 证书:
openssl x509 -req -in server.req -out server.cer -CAkey myCA.key -CA myCA.cer-days 36500 -CAcreateserial -CAserial server.serial
这里我们假设有效期为100年,输出文件为 server.cer,序号文件为 server.serial(撤销证书时使用)。
4、将 .key 和 .cer 文件导出为 .p12 证书:
openssl pkcs12 -export -in server.cer -inkey server.key -out server.p12-name "server"
根据命令提示,需要输入两次证书密码。这里我们假设密码为 keypass。输出文件名为 server.p12。
5、将 .p12 文件导入到 java keystore 中:
keytool -importkeystore -v -srckeystore server.p12 -srcstoretype pkcs12 -srcstorepass keypass-destkeystore server.keystore -deststoretype jks -deststorepass keystorepass
这里我们假设 keystore 文件名为 server.keystore,keystore 密码为 keystorepass。
三、使用 SSL 证书
将最后得到的 keystore 文件 (server.keystore) 放在 web 服务器上。例如 Tomcat 目录的 conf 目录下。
然后修改 server.xml:
<Connector port="8443"protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"
maxThreads="150" scheme="https"secure="true"
keystoreFile="conf/server.keystore"keystorePass="ydtf@95598"
clientAuth="false" sslProtocol="TLS" />
重启 Tomcat,通过以下地址访问 https 服务:
https://localhost:8443/ 或者 https://192.168.2.1:8443/。
开启 Tomcat https 服务,布布扣,bubuko.com
原文地址:http://blog.csdn.net/kmyhy/article/details/23171017