到深圳易维信-EVTrust申请一个SSL证书
制作服务器证书(最终形成一个pkcs12文件,包含服务器密钥、证书和CA的证书)
假设我们把服务器相关的东西生成到CA的$HOME/testca/test/server目录里:
mkdir -p "$HOME/testca/test/server"
cd "$HOME/testca/test/server"
2.1创建服务器公钥密钥,并同时生成一个服务器证书请求:
openssl req -newkey rsa:1024 -keyout serverkey.pem -keyform PEM -out serverreq.pem /
-outform PEM -subj "/O=ABCom/OU=servers/CN=servername"
执行命令过程中输入密钥保护密码222222。
执行后可以用以下命令查看请求内容:
openssl req -in serverreq.pem -text -noout
2.2 用测试CA签署服务器证书:
把serverreq.pem拷贝到CA的某目录下,我们就可以按照《利用openssl创建一个简单的CA》里的“CA的日常操作”的“1. 根据证书申请请求签发证书”章节进行证书签发了:
openssl ca -in serverreq.pem -out servercert.pem -config "$HOME/testca/conf/testca.conf"
执行过程中需要输入CA私钥的保护密码。
执行完后可以用以下命令查看证书内容:
openssl x509 -in servercert.pem -text -noout
2.3 制作服务器pkcs12文件(包含服务器密钥、证书和CA的证书)
openssl pkcs12 -export -in servercert.pem -inkey serverkey.pem /
-out tomcat.p12 -name tomcat -CAfile "$HOME/testca/cacert.pem" /
-caname root -chain
执行过程中要输入服务器密钥的保护密码(serverkey.pem)和新生成的tomcat.p12的保护密码,我们都输入222222。
创建完成后,把pkcs12文件拷贝到tomcat的conf目录下。
创建服务器信任的客户端CA证书库:
同方法一的对应章节,这里,我们假设客户端个人证书(后续章节介绍如何生成客户端个人证书)也是由测试CA签发的,所以我们要把cacert.pem证书导入信任证书库:
keytool -keystore truststore.jks -keypass 222222 -storepass 222222 -alias ca -import -trustcacerts -file cacert.pem
可以用以下命令查看信任证书库内容:
keytool -keystore truststore.jks -keypass 222222 -storepass 222222 -list -v
4. 配置Tomcat支持HTTPS双向认证(服务器将认证客户端证书):
修改tomcat的conf目录里的server.xml文件($TOMCAT_HOME/conf/server.xml),找到类似下面内容的配置处,添加配置如下:
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="conf/tomcat.p12" keystorePass="222222" keystoreType="PKCS12"
truststoreFile="conf/truststore.jks" truststorePass="222222" truststoreType="JKS" />
注意:其中keystore的keystoreType与方法一的配置不同。经以上配置后,重启tomcat,服务器就支持HTTPS双向认证了。
到深圳易维信-EVTrust申请一个SSL证书 制作服务器证书(最终形成一个pkcs12文件,包含服务器密钥、证书和CA的证书)假设我们把服务器相关的东西生成到CA的$HOME/testca/test/server目录里:mkdir -p "$HOME/testca/test/server"cd "$HOME/testca...