一、生成代码--》在服务端执行
keytool -genkey -alias castest -keypass cas123 -keyalg RSA -keystore casserver.keystore -validity 365
-alias指定别名为casserver;
-keyalg指定RSA算法;
-keypass指定私钥密码;
-keystore指定密钥文件名称为casserver.keystore;
-validity指定有效期为365天。
另外提示输入密匙库口令应与-keypass指定的cas123相同;您的名字与姓氏fron.com是CAS服务器使用的域名(不能是IP,也不能是localhost),其它项随意填。 * 姓氏rquest.sso.cas,单位rquest测试口令123456,组织rquest,区域shanghai,国家代码CN,
二、导出-->将生成的证书导出
keytool -export -alias castest -storepass 123456 -file casserver.cer -keystore casserver.keystore 说明:
-alias指定别名为casserver;
-storepass指定私钥为liuqizhi;
-file指定导出证书的文件名为casserver.cer;
-keystore指定之前生成的密钥文件的文件名。
注意:-alias和-storepass必须为生成casserver.keystore密钥文件时所指定的别名和密码,否则证书导出失败三.导入证书文件到cacerts 密钥库文件
接下来就是把上面生成的服务器的证书casserver.cer导入到cacerts密钥库文件中(后面的客户端会用到这些) keytool -import -trustcacerts -alias castest -storepass cas123 -file casserver.cer –keystore cacerts
=====以下为打印内容==========
c:\Program Files\Java\jdk1.8.0_45\bin>keytool -import -trustcacerts -alias castest -storepass cas123 -file casserver.cer -keystore cacerts
所有者: CN=rquest.sso.cas, OU=rquest, O=rquest, L=shanghai, ST=shanghai, C=cn
发布者: CN=rquest.sso.cas, OU=rquest, O=rquest, L=shanghai, ST=shanghai, C=cn
序列号: 18870d2e
有效期开始日期: Wed Jun 21 11:20:20 CST 2017, 截止日期: Thu Jun 21 11:20:20 CST 2018
证书指纹:
MD5: 03:75:A4:34:05:BB:11:95:3C:1B:89:C7:01:CE:5F:7F
SHA1: B5:D2:C1:F0:90:A8:D0:BA:F4:97:D1:6F:6A:9B:0A:B0:1F:15:56:13
SHA256: 88:65:95:F2:66:79:F3:BA:58:55:48:F5:F6:E1:DB:EA:4A:26:FE:1F:F3:E3:C2:87:F5:91:B2:DE:49:53:AB:45
签名算法名称: SHA256withRSA
版本: 3 扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 94 64 90 BF 59 57 AE FD 14 13 5B B8 B4 F4 9F B1 .d..YW....[.....
0010: 36 68 A3 CE 6h..
]
] 是否信任此证书? [否]: y
证书已添加到密钥库中
四、服务端Tomcat配置
在制作完成密钥文件、证书文件、密钥库文件后即可进行服务端Tomcat的配置。打开$CATALINA_HOME/conf/server.xml<!--keystoreFile 生成的安全证书的位置-->
<!--keystorePass设置安全证书的密码-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"
keystorePass="cas123"
port="443" />
说明:
port一般为8443或443,最常用的是443端口(https默认端口),
这样https方式访问的时候可以不加端口号(如:https://sso.demo.com/cas/login);
keystoreFile为tomcat目录下的密钥文件;
keystorePass为私钥密码;truststoreFile为生成的信任文件,
如果此处不指定则默认为$JAVA_HOME/jre/lib/security/cacerts文件;其它属性默认即可。
五、生成客户端密钥库文件
单向认证的客户端配置只需生成客户端信任文件caserts即可。
首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到$JAVA_HOME/jre/lib/security下,
然后打开CMD窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:
keytool -import -trustcacerts -alias casclient -storepass changeit -file casserver.cer -keystore cacerts
命令执行成功后JDK目录/jre/lib/security下多出cacerts文件。
六、客户端应用配置
TOMCAT修改
tomcat\conf\ server.xml 修改片断
<!--keystoreFile 生成的安全证书的位置-->
<!--keystorePass设置安全证书的密码-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"
keystorePass="cas123"
port="443"/>
7.常见配置错误
1)keytool 生成安全证书不能使用IP地址 一律使用域名
2)务必确认客户端程序使用JDK 路径正确 分清楚JDK、JRE
java将证书添加到信任库 jdk信任证书
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Azure 虚拟机的受信任启动
“受信任启动”(Trusted Boot)就是Azure虚拟机的一项重要安全特性,受信任启动作为一种无缝提高第 2 代虚拟机 (VM) 安全性的方式。
受信任启动 vTPM 受信任启动的Azure虚拟机 Azure虚拟机 -
将服务端证书添加到Java证书信任库中 web服务器证书向导
安装证书 Windows 2003 Internet Information Server (IIS) 6.0 支持安全套接字层 (SSL) 通信。整个网站、网站上的文件夹或位于站点上文件夹中的特定文件可以要求安全 SSL 连接。但是,必须先安装网站证书,Web&nb
将服务端证书添加到Java证书信任库中 服务器 windows server web