1. 程式人生 > >cas單點登錄(一) 生成證書

cas單點登錄(一) 生成證書

ali ip地址 log stc java_home conn store 地址 密碼

生成 證書

實現:使用jdk自帶的keytool 工具生成證書。

命令: keytool -genkey -alias tomcat -keyalg RSA -keystore c:/devsoft/keys/keystore

導出證書:keytool -genkey -alias tomcat -keyalg RSA -keystore c:/devsoft/keys/keystore

將證書導入jdk信任庫: keytool -import -trustcacerts -alias tomcat -file c:/devsoft/keys/tomcat.cer -keystore "C:/Program Files/Java/jre1.8.0_141/lib/security"

4.服務端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文件;其它屬性默認即可。

5.生成客戶端密鑰庫文件

單向認證的客戶端配置只需生成客戶端信任文件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文件。

6.客戶端應用配置

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

cas單點登錄(一) 生成證書