CAS SSO SSL证书配置

来源:互联网 发布:nba凯尔开人球队数据 编辑:程序博客网 时间:2024/06/07 12:30

生成证书:

  1,生成数字证书

         keytool -genkey -alias examplecas -keypass changeit -keyalg RSA -keystore server.keystore
     
    2,导出数字证书

         keytool -export -alias examplecas -keypass changeit -file server.crt -keystore server.keystore

    3,将数字证书导入jre的可信区

          keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ../jre/lib/security/cacerts
    4 ,删除jre可信区的证书。

         keytool -delete -trustcacerts -alias  examplecas -keystore  ../jre/lib/security/cacerts  -storepass changeit 
    其他的一些命令:
    查看可信证书列表(检查证书是否加入成功)
    ./keytool -list -keystore ../jre/lib/security/cacerts 

  

常用命令:

 

-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法 
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)



//===============================第三方证书认证===========================================

2.  生成keystore文件
生成密钥库文件keystore.jks需要使用JDK的keytool工具。命令行进入JDK或JRE下的bin目录,运行keytool命令(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore C:\keystore.jks -storepasspassword -keypass password


以上命令中,server为私钥别名(-alias),生成的keystore.jks文件默认放在命令行当前路径下。

3.  生成证书请求文件(CSR)
keytool -certreq -alias server -sigalg SHA1withRSA -file C:\certreq.csr -keystore C:\keystore.jks -keypass password -storepass password


备份密钥库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。密钥库文件keystore.jks丢失将导致证书不可用。

二、  导入服务器证书

1.  获取服务器证书中级CA证书
为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为intermediate1.cer和intermediate2.cer文件。

 

2.  获取服务器证书
将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为server.cer文件

3.  查看Keystore文件内容
进入JDK安装目录下的bin目录,运行keytool命令。
keytool -list -keystore C:\keystore.jks -storepass password



查询到PrivateKeyEntry属性的私钥别名(alias)为server。记住该别名,在稍后导入服务器证书时需要用到(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。
注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件,都将无法正确导入您的服务器证书。

4.  导入证书(如果只有一张中级证书,则只需要导入一张中级证书)
导入第一张中级CA证书
keytool -import -alias intermediate1 -keystore C:\keystore.jks -trustcacerts -storepasspassword -file C:\intermediate1.cer
导入第二张中级CA证书
keytool -import -alias intermediate2 -keystore C:\keystore.jks -trustcacerts -storepasspassword -file C:\intermediate2.cer


导入服务器证书
keytool -import -alias server -keystore C:\keystore.jks -trustcacerts -storepass password -file C:\server.cer


导入服务器证书时,服务器证书的别名必须和私钥别名一致。请留意导入中级CA证书和导入服务器证书时的提示信息,如果您在导入服务器证书时使用的别名与私钥别名不一致,将提示“认证已添加至keystore中”而不是应有的“认证回复已安装在keystore中”。
证书导入完成,运行keystool命令,再次查看keystore文件内容
keytool -list -keystore C:\keystore.jks -storepass password


三、  安装服务器证书

1.  单向认证的配置
复制已正确导入认证回复的keystore.jks文件到Tomcat安装目录下的conf目录。打开conf目录下的server.xml文件,找到并修改以下内容
    <!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
SSL访问端口
    -->
修改为
    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               keystoreFile="conf\keystore.jks" keystorePass="password"
               clientAuth="false" sslProtocol="TLS" />
默认的SSL访问端口号为443,如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的站点。

2.  双向认证的配置
配置双向认证时,您还需要指定客户端认证的信任库文件。客户端认证信任库文件(truststoreFile)可以和服务器证书密钥库文件(keystoreFile)为同一个文件,也可以进行独立配置。
示例中使用相同的密钥库文件。您需要首先将客户端认证的根证书以及中级CA证书导入到客户端认证信任库。
    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               keystoreFile="conf\keystore.jks" keystorePass="password"
               truststoreFile="conf\keystore.jks" truststorePass="password"
               clientAuth="true" sslProtocol="TLS" />

3.  访问测试
重启Tomcat,访问https://youdomain:port,测试证书的安装。

四、  服务器证书的备份及恢复

在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。
1.  服务器证书的备份
备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。
2.  服务器证书的恢复
请参照服务器证书安装部分,将服务器证书密钥库keystore.jks文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。


//================================自己电脑导入可信任证书==========================

1.浏览器添加受信任证书。如:chrome。 =》设置=》高级设置=》HTTPS/SSL 将server.crt添加到受信任的根证书颁发机构


2.重启浏览器。重新访问:


0 0
原创粉丝点击