一、Windows数字证书
1. 生成数字证书
1.1 进入[%JAVA_HOME%]路径下
1 cd D:Program FilesJavajdk1.8.0_131
1.2 生成证书。一些命令中红色部分不是必要部分,如果对密钥口令和密钥库口令的概念不是很清楚的最好不要
1 keytool -genkey -alias hoojjack -keyalg RSA -keypass changeit -storepass changeit -keystore hoojjack.keystore -validity 3600
注: -validity 指证书的有效期(天),缺省有效期很短,只有90天
如果上面的口令密码参数没有加上,会提示你输入
输入参数如下图:
注意:你的名字与姓氏是指你的域名
数字证书【hoojjack.keystore】储存于当前目录【D:Program FilesJavajdk1.8.0_131】
1.3 将hoojjack.keystore文件复制到【%CATALINA_HOME%】下
如: Tomcat目录【C:Program Files (x86)Apache Software FoundationTomcat 5.5】
2.导出数字证书
2.1 进入[%JAVA_HOME%]路径下
1 keytool -export -trustcacerts -alias hoojjack -file hoojjack.cer -keystore hoojjack.keystore
导出后的证书【hoojjack.cer】储存在当前目录【C:Program Files (x86)Javajdk1.8.0_131in】
3.导入数字证书
3.1 导入证书Jdk。
复制证书【hoojjack.cer】到【%JAVA_HOME%】jdk1.8.0_131jrelibsecurity目录下
1 keytool -import -trustcacerts -alias tomcat -file hoojjack.cer -keystore cacerts
4.删除数字证书(需要时操作)
4.1 删除证书Jdk
1 keytool -delete -trustcacerts -alias hoojjack -keystore cacerts
证书生成和导入密钥库以后需要修改tomcat的server.xml配置,开放8443端口。
修改 [%TOMCAT_HOME%] confserver.xml
1 <!-- Define a SSL HTTP/1.1 Connector on port 8443 --> 2 <Connector port="8443" maxHttpHeaderSize="8192" 3 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 4 enableLookups="false" disableUploadTimeout="true" 5 acceptCount="100" scheme="https" secure="true" 6 clientAuth="false" sslProtocol="TLS" keystoreFile="hoojjack.keystore" keystorePass="123456" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA" />
keystoreFile配置项指明keystore文件位置,当前配置是说server.keystore文件放在tomcat主目录下
keystorePass配置项指明访问密码,也就是生成证书时密码库口令参数后跟的值。
ciphers配置项是希望chome浏览器也可以访问。
二、Linux数字证书
linux制作证书的命令跟windows下的命令一样,故可以参考windows的步骤。这里就不在详细介绍。