JAVA 制作证书


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制作证书的命令跟windows下的命令一样,故可以参考windows的步骤)

摘自:https://www.cnblogs.com/hoojjack/p/7993736.html

原文地址:https://www.cnblogs.com/rdchen/p/13259400.html