主要分为两大步:服务端生成配置证书,应用端导入证书。
SSO服务端
- 生成keystore, 此文件用于tomcat/conf/server.xml中配置及导出证书;
1
2
|
keytool -genkey -keyalg RSA -alias mlongbosso -dname
"cn=passport.mlongbo.com"
-keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654
|
说明:指定使用RSA算法,生成别名为mlongbosso的证书,口令为123654,证书的DN为"cn=passport.mlongbo.com" ,这个DN必须同当前主机完整名称一致!!)
- 导出mlongbosso.crt证书
1
2
|
keytool -export -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt
-keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654
|
(注释:从mlongbosso.keystore中导出别名为mlongbosso的证书,生成文件mlongbosso.crt)
3. 配置Tomcat的HTTPS服务
keystoreFile属性值为mlongbosso.keystore文件路径, keystorePass属性值为证书存贮口令
1
2
3
4
5
6
|
<Connector port=
"8443"
protocol=
"HTTP/1.1"
SSLEnabled=
"true"
maxThreads=
"150"
scheme=
"https"
secure=
"true"
clientAuth=
"false"
sslProtocol=
"TLS"
keystoreFile=
"/home/ndoc/test/cas/mlongbosso.keystore"
keystorePass=
"123654"
/>
|
应用端
应用端即SSO客户端.
注释: Windows下为%JAVA_HOME%
, Linux下为$JAVA_HOME
- 将mlongbosso.crt导入到应用服务器所使用的jre的可信任证书仓库中
1
2
|
keytool -import -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt
-keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654
|
- 列出jre可信任证书仓库中证书名单,验证导入是否成功,如果导入成功,应该在列表中能找到mlongbosso这个别名
1
|
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654
|
注意:如果此处导入失败,或者要重新导入,需要先删除%JAVA_HOME%/jre/lib/security/cacerts
文件(删除前请备份)
keytool -genkey -keyalg RSA -alias mlongbosso -dname "cn=passport.mlongbo.com" -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654