主要分为两大步:服务端生成配置证书,应用端导入证书。
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