首先需要生成一系列私钥文件以及证书
#创建根证书私钥文件custom_ca.key
openssl genrsa -out custom_ca.key 2048
#创建根证书 -subj 指定颁发者名称
openssl req -x509 -new -key custom_ca.key -out custom_ca.cer -days 730 -subj /CN="Stonesea's CA"
#创建ssl证书的私钥文件
openssl genrsa -out server.key 2048
#创建CSR -subj指定 证书的使用者
openssl req -new -out server.req -key server.key -subj /CN=127.0.0.1/CN=192.168.159.128/CN=localhost
#用CSR创建ssl证书 有效期为100年
openssl x509 -req -in server.req -out server.cer -CAkey custom_ca.key -CA custom_ca.cer -days 36500 -CAcreateserial -CAserial server.serial
#导出.p12证书,导出过程中会要求输入多出密码(实验中输入密码为:stonesea)
openssl pkcs12 -export -in server.cer -inkey server.key -out server.p12 -name "server"
#.p12 文件导入到 java keystore 中
# -srcstorepass的值为上一步中输入的导出密码 (stonesea)
# -deststorepass 导出出的keystore 密码 (将在tomcat的server.xml文件中使用)
keytool -importkeystore -v -srckeystore server.p12 -srcstoretype pkcs12 -srcstorepass stonesea -destkeystore server.keystore -deststoretype jks -deststorepass justfortest
将生成的server.keystore文件复制到 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="justfortest"
clientAuth="false"
sslProtocol="TLS" />