【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS
完整版见https://jadyer.github.io/2012/05/30/tomcat-https/
/** * @see CAS服务端配置HTTPS * @see ------------------------------------------------------------------------------------------------------------------------ * @see 1.生成KeyStore * @see 1.1.D:\>keytool -genkey -alias XuanyuKeyStore -keyalg RSA -validity 1024 -keystore D:/keys/XuanyuKey * @see -genkey 表示生成密钥 * @see -alias 指定别名,这里是XuanyuKeyStore * @see -keyalg 指定算法,这里是RSA * @see -validity 指定证书有效期,这里是1024天 * @see -keystore 指定生成的KeyStore文件名称和路径,这里是D:/keys/XuanyuKey * @see 1.2.CMD输出-->输入密钥库口令:xuanyu75(曾经叫做'输入keystorepassword') * @see 再次输入新password:xuanyu75 * @see 您的名字与姓氏是什么?[Unknown]:sso.jadyer.com(单点服务器域名:要依据实际情况填写域名,否则会导致证书上的名称无效) * @see 您的组织单位名称是什么?[Unknown]:http://blog.csdn.net/jadyer * @see 您的组织名称是什么?[Unknown]:JavaLover_Jadyer * @see 您所在的城市或区域名称是什么?[Unknown]:重庆 * @see 您所在的州或省份名称是什么?[Unknown]:江北区 * @see 该单位的两字母国家代码是什么[Unknown]:ZH * @see CN=sso.jadyer.com, OU=http://blog.csdn.net/jadyer, O=JavaLover_Jadyer, L=重庆,ST=江北区,C=ZH 正确吗?[否]:y * @see 输入<XuanyuKeyStore>的主password(假设和 keystore password同样,按回车):这里按回车键 * @see (这里的主password一定要与keystorepassword同样,否则启动Tomcat时就会告诉你java.io.IOException: Cannot recover key) * @see 1.3.接下来生成了D:/keys/XuanyuKey文件 * @see ------------------------------------------------------------------------------------------------------------------------ * @see 2.导出证书 * @see 2.1.D:\>keytool -export -file D:/keys/Xuanyu.crt -alias XuanyuKeyStore -keystore D:/keys/XuanyuKey * @see -alias须要输入生成KeyStore时用的别名,否则会提示'keytool 错误: java.lang.Exception: 别名 <XuanyuCRT> 不存在' * @see 输入密钥库口令应输入生成KeyStore时设置的口令 * @see 导入成功后控制台会打印'存储在文件 <D:/keys/Xuanyu.crt> 中的证书' * @see 2.2.当浏览器訪问单点客户端时,首次会跳到CAS服务端登录页面,这时浏览器会先询问用户,这是一个未知SSL的请求,是否继续 * @see 假设把CRT证书导入到浏览器中,就不会看到这个询问页面了,以下是导入CRT到浏览器的步骤 * @see 双击Xuanyu.crt-->安装证书-->下一步-->将全部的证书放入下列存储-->浏览-->受信任的根证书颁发机构-->下一步-->完毕 * @see 这时会弹出对话框'您即将从一个声称代表例如以下的证书颁发机构安装证书:sso.jadyer.com......确认安装此证书吗'-->是-->导入成功-->确定 * @see ------------------------------------------------------------------------------------------------------------------------ * @see 3.导入证书到JVM * @see 3.1.D:\>keytool -import -keystore D:\Develop\Java\jdk1.7.0_76\jre\lib\security\cacerts -file D:/keys/Xuanyu.crt -alias XuanyuKeyStore * @see 输入密钥库口令:xuanyu75 * @see 全部者: CN=sso.jadyer.com, OU=http://blog.csdn.net/jadyer, O=JavaLover_Jadyer, L=重庆, ST=江北区, C=ZH * @see 公布者: CN=sso.jadyer.com, OU=http://blog.csdn.net/jadyer, O=JavaLover_Jadyer, L=重庆, ST=江北区, C=ZH * @see 序列号: 5149ee5a * @see 有效期開始日期: Fri Jul 24 15:21:24 CST 2015, 截止日期: Sun May 13 15:21:24 CST 2018 * @see 证书指纹: * @see MD5: 84:E1:92:ED:71:49:D4:D5:94:CB:AB:35:BB:01:81:0B * @see SHA1: A0:1E:BD:CE:8B:DB:F3:7E:2C:ED:7A:9A:5D:72:41:3C:1D:28:D1:2A * @see SHA256: B2:90:99:8D:29:BA:87:48:AE:3A:D8:E2:AD:8E:9E:F3:1B:95:FF:65:29: * @see 48:BD:EB:C4:29:14:9E:69:86:B1:D6 * @see 签名算法名称: SHA256withRSA * @see 版本号: 3 * @see * @see 扩展: * @see * @see #1: ObjectId: 2.5.29.14 Criticality=false * @see SubjectKeyIdentifier [ * @see KeyIdentifier [ * @see 0000: 9C 46 74 89 5B AA 10 52 24 4C 7B F3 49 66 CD 81 .Ft.[..R$L..If.. * @see 0010: F4 A9 E5 22 ..." * @see ] * @see ] * @see * @see 是否信任此证书? [否]: y * @see 证书已加入到密钥库中 * @see 注意在输入密钥口令后若提示'keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect' * @see 那就换个password,输入'changeit'即可了 * @see ------------------------------------------------------------------------------------------------------------------------ * @see 4.应用证书到Tomcat-8.0.21 * @see 4.1.拷贝生成的D:/keys/XuanyuKey到\\%TOMCAT_HOME%\\conf\\文件夹中(其他文件夹也能够) * @see 4.2.server.xml * @see <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" * @see maxThreads="150" scheme="https" secure="true" * @see clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8" * @see keystoreFile="conf/XuanyuKey" keystorePass="xuanyu75"/> * @see 4.3.浏览器訪问https://127.0.0.1:8443/blog会发现你的应用已经处于SSL安全通道中了 * @see 4.4.但此时訪问http://127.0.0.1:8080/blog会发现也能訪问 * @see 也就是说,我们尽管启用了HTTPS,但如今还能够绕开HTTPS直接HTTP訪问,如此HTTPS也就起不到作用了 * @see 改动\\%TOMCAT_HOME%\\conf\\web.xml文件,尾部<welcome-file-list>标签后加入以下的内容即可 * @see <security-constraint> * @see <!-- Authorization setting for SSL --> * @see <web-resource-collection> * @see <web-resource-name>SSL_App</web-resource-name> * @see <!-- 指明须要SSL的url --> * @see <url-pattern>/*</url-pattern> * @see <http-method>GET</http-method> * @see <http-method>POST</http-method> * @see </web-resource-collection> * @see <user-data-constraint> * @see <!-- 指明须要SSL --> * @see <transport-guarantee>CONFIDENTIAL</transport-guarantee> * @see </user-data-constraint> * @see </security-constraint> * @see ------------------------------------------------------------------------------------------------------------------------ * @see 你也能够申请免费的StartSSL CA证书: StartSSL(公司名:StartCom)也是一家CA机构 * @see 它的根证书非常久之前就被一些具有开源背景的浏览器支持(Firefox/Chrome/Safari等) * @see 申请地址:http://www.startssl.com * @see 申请參考:http://www.linuxidc.com/Linux/2011-11/47478.htm * @see ------------------------------------------------------------------------------------------------------------------------ * @create 2015-7-26 上午10:32:25 * @author 玄玉<http://blog.csdn.net/jadyer> */
posted on 2017-08-12 12:56 yjbjingcha 阅读(358) 评论(0) 编辑 收藏 举报