用keytool生成证书

1、证书查看与删除

查看是否已创建过同名的证书

keytool -list -v -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit
删除已创建的证书

keytool -delete -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit

以上的ssotest为证书名

2、生成服务端密钥文件

打开cmd窗口,输入以下命令:

keytool -genkey -alias ssotest -keypass 123456 -keyalg RSA  -keystore test.keystore  -validity 365

说明:

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 

-alias          产生别名

-keypass    指定私钥密码

-keyalg      指定密钥的算法    

-keystore   指定密钥库的名称(产生的各类信息将不在.keystore文件中

-validity      指定创建的证书有效期多少天

另外提示的输入keystore密码应与-keypass指定的相同;您的名字与姓氏是CAS服务器使用的域名(不能是IP,也不能是localhost),其它项随意填。

3、生成服务端证书

根据以上生成的服务端的密钥文件可以导出服务端证书,执行以下命令:

keytool -export -alias ssotest -storepass 123456 -file test.cer -keystore  test.keystore

说明:

-export       将别名指定的证书导出到文件

-alias          指定别名为ssotest

-storepass  指定私钥为123456

-file             指定导出证书的文件名为test.cer

-keystore    指定之前生成的密钥文件的文件名test.keystore

4、导入证书

执行以下命令:

keytool -import -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -file test.cer -alias ssotest 

之后会要求输入密钥库口令,默认为:changeit

5、配置tomcat

打开tomcat下的conf/server.xml,找到以下片段:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
替换成:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
    disableUploadTimeout="true" enableLookups="false" maxThreads="25"
    port="8080" keystoreFile="keystore证书路径" keystorePass="123456"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true" sslProtocol="TLS" />





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值