证书
重点:
- server.cas.com 是我们测试的域名
- 测试时需要把本地机的ip映射为server.cas.com设置到系统HOSTS文件
生成证书
#生成证书保存到E:\Cas-sso\ssl\下 keytool -genkey -alias casserver -keyalg RSA -keystore E:\Cas-sso\ssl\casserver.keystore #生成证书的时候,记住名字与姓氏需和域名必须保持一致
此时,就在E:\Cas-sso\ssl\目录下生成了对应的证书文件:
导出证书
#导出证书casserver.cer,证书生成在 E:\Cas-sso\ssl\下 keytool -export -trustcacerts -alias casserver -file E:\Cas-sso\ssl\casserver.cer -keystore E:\Cas-sso\ssl\casserver.keystore
证书已经成功导出:
导入证书到jdk
#将证书导入到jdk的目录 keytool -import -trustcacerts -alias casserver -file E:\Cas-sso\ssl\casserver.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts"
查看证书
keytool -list -v -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias casserver
或者:
keytool -list -v -keystore "%JAVA_HOME%\jre\lib\security\cacerts" | findstr/i casserver
删除证书
keytool -delete -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias casserver
方式2
密钥生成
生成步骤,各参数含义:
- -genkeypair 生成密钥
- -keyalg 指定密钥算法,这时指定RSA,
- -keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,我让你破解不了(哈哈…),
- -siglag 指定数字签名算法,这里指定为SHA1withRSA算法
- -validity 指定证书有效期,这里指定36500天,也就是100年,我想我的应用用不到那么长时间
- -alias 指定别名,这里是casserver
- -keystore 指定密钥库存储位置,这里存在d盘
-dname 指定用户信息,不用一个一个回答它的问题了;
注意:CN=域名,我们采用
server.cas.com
keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias casserver -keystore E:\Cas-sso\ssl\casserver.keystore -dname "CN=cas.server.com,OU=hayc,O=hayc,L=BeiJing,ST=BeiJing,C=CN"输入上述命令,下面密码我们输入123456,然后一直回车,就在d盘生成了tomcat.keystore文件;
证书生成
在cmd下输入如下命令,密码为上面输入的123456:
keytool -exportcert -alias casserver -keystore E:\Cas-sso\ssl\casserver.keystore -file E:\Cas-sso\ssl\casserver.cer -rfc
证书生成在:E:\Cas-sso\ssl\casserver.cer
导入cacerts证书库
输入密码为 changeit并同意导入
keytool -import -alias casserver -keystore %JAVA_HOME%\jre\lib\security\cacerts -file E:\Cas-sso\ssl\casserver.cer -trustcacerts