RSA不同服务器需要配置:keystore.jks是私钥证书库,cacerts.jks是信任库。而一般我们生成一个keystore.jks就行,包含服务器密钥证书、和信任链证书,是两个证书保持一样。

1.生成对应我们需要的jks文件:

其中s1as使我们要配置的服务器含有私钥的证书,365是有效期单位天,keyalg申请的整数类型,keysize秘钥长度,keypass使我们服务器证书密码,-storepass对应我们生成jks文件的密码,-dname是我们后面生成证书的主题,这个要和ca给我们办法吻合。

2.生成证书请求

s1as.csr就是我们想要的证书请求,也可以做成pem形式均可。

3.拿到证书请求,我们去对应ca颁发相应证书,并且获得ca对应的信任证书,一般二级证书即可满足需求trustedcertEntry,用来验证证书的信任关系。

如图所示,aica就是我们的二级证书,CWCA为一级证书

先上传信任链证书,注意参数trustcacerts告诉这是一个trustCert,通常上传二级证书就可以了:

之后上传证书:

keytool -import -storepass changeit -keypass changeit -alias s1as -file luoni186.p7b -keystore keystore.jks

注意在导入的时候有时会报不是x.509证书错误,这个时候通常我们保存成p7b格式,用xca工具转换一下即可。

之后即可查看当前keystoreNew.jks:

里面trustedCertEntry即为我们上传的信任链证书,而privateKeyEntry即为我们的服务器含有私钥的证书。

4.若我们想删除里面s1as或者自己想重新上传一张额外的服务器证书。

第一步删除:

第二步生成密钥对:

第三步生成证书请求:

第四步上传证书,查看:

5.修改tomcat配置

找到server.xml,放开8443端口配置,也可以改为443.若改为443对应其他端口的 redirectPort也相应的改为443.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="conf/keystoreNew.jks"

keystorePass="changeit"

truststoreFile="conf/keystoreNew.jks"

truststorePass="changeit"/>

注释掉

<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->

相应命令:

直接生成jks文件,也可以用转换工具将pfx文件转换为jks。

keytool -genkey -alias s1as -validity 7300 -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -dname "CN=中文测试,Email=test@test.com,OU=研究院,O=航信,L=北京,ST=Beijing,C=CN" -keystore "D:\keystore.jks"

证书请求,指定格式为pem

keytool -certreq -alias s1as -sigalg SHA1WithRSA -file "D:\req.pem" -keypass changeit -keystore "D:\keystore.jks" -storepass changeit

证书生成密钥对

keytool -genkey -alias s1as -keystore keystore.jks -storepass changeit -keysize 2048 -keyalg RSA -validity 3650

生成证书请求,格式为csr

keytool -certreq -alias s1as -file s1as.csr -keystore keystore.jks –storepass changeit

导入,密钥存在证书

keytool -import -storepass 111111 -keypass 111111 -alias tomcat -file fwdw.p7b -keystore fwdwtomcat.jks

导入可信任证书

keytool -import -trustcacerts -storepass 111111 -alias aica -file aica.cer -keystore fwdwtomcat.jks

导入公钥证书,私钥不在jks中

keytool -import -alias s1as -keystore cacerts.jks -storepass changeit -file s1as.cer

查看信息

keytool -list -v -keystore keystore.jks

删除jks中别名证书

keytool -delete -alias s1as -keystore keystore.jks -storepass changeit

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐