CAS3.4 关于PAM模块SSL的详细配置

在要配置PAM_CAS的SSL时,才发现原来之前使用的证书都得重新换掉了。

采用OpenSSL和KeyTool签发自签名证书来替换之前配置的Tomcat SSL

redHat自带Openssl工具,因为我并没有在redhat系统中安装JDK,所以我下载了Openssl并安装在了CAS服务器所在的Windows系统中。

 

 

OpenSSL10.9.7c   http://gnuwin32.sourceforge.net/downlinks/openssl-bin.php

请自行安装该相关软件并配置好环境变量

 

一:创建Openssl配置文件

 [ req ]
 default_bits           = 1024
 default_keyfile        = ca-privkey.pem
 distinguished_name     = req_distinguished_name
 attributes             = req_attributes
 prompt                 = no
 output_password        = 111111

 [ req_distinguished_name ]
 C                      = CN
 ST                     = Beijing
 L                      = Haidian
 O                      = www.ncs-cyber.com.cn
 OU                     = ncs-cyber.com.cn
 CN                     = RainTime
 emailAddress      = [email protected]

 [ req_attributes ]
 challengePassword              = 111111

 openssl.conf可参考:http://www.openssl.org/docs/apps/req.html#EXAMPLES

将openssl.conf文件拷贝到openssl的安装目录下的bin目录中

 

二:创建数字证书

     1:为方便,在C盘创建用于存放数字证书的文件夹"ca",路径为:"c:\ca"

     2:运行命令提示符"CMD"

     3:执行Openssl命令

          1)生成私钥

              

openssl genrsa -out c:\ca\ca-privkey.pem 1024

 

          2)生成待签名证书

Openssl req –new –out c:\ca\ca-req.csr -key c:\ca\ca-privkey.pem -config 
openssl.conf

 

         3)用CA私钥匙进行自签名

openssl x509 -req -in c:\ca\ca-req.csr -out c:\ca\ca-root.pem -signkey 
c:\ca\ca-privkey.pem -days 365

 

    4:执行KeyTool命令

         1)创建KeyPari

keytool -genkey -alias cas-server -keyalg RSA -keystore c:ca\cas-store.keystore 
-validity 365

 

              注意:CN应为CAS服务器的域名或机器名

        2)生成待签名证书

       

keytool -certreq -alias cas-server -sigalg MD5withRSA -file c:\ca\cas-server.csr 
-keystore cas-store.keystore

 

    5:执行Openssl命令,使用私钥对服务器请求证书文件进行签名

openssl x509 -req -in c:\ca\cas-server.csr -out c:\ca\cas-server-cer.pem -CA 
c:\ca\ca-root.pem -CAkey  c:\ca\ca-privkey.pem -days 365 -set_serial 1

  

    6:执行KeyTool命令,导入根证书到信任证书库

keytool -import -v -trustcacerts -alias cas-root -file c:\ca\ca-root.pem 
-keystore %JAVA_HOME%\jre\lib\security\cacerts

   

     7:执行KeyTool命令,导入服务器证书到证书库

keytool -import -v -trustcacerts -alias c:\ca\cas-server -file cas-server-cer.pem 
-keystore cas-store.keystore

 

 

执行完以上命令后,在c:\ca目录下,应有文件如下:

1:ca-privkey.pem

2:ca-req.csr

3:ca-root.pem

4:cas-store.keystore

5:cas-server.csr

6:cas-server-cer.pem

 

替换方案:

1:将cas-store.keystore替换掉CAS服务器Tomcat中所使用的证书库

2:编辑redhat主机中,pam_cas模块所使用的pam_cas.conf文件,修改文件中的ssl设为on,trusted_ca参数所指定的证书文件为ca-root.pem,端口为8443

 

 

 

      在配置PAM的SSL时,多说两句,pam_cas.conf配置文件中的trustca值,应该为一个BASE64编码的证书文件,注释中提到,此证书应该为一个CA根书,可见这个SSL连接是单向连接。

     至此,PAM_CAS的SSL算是配置成功

     

      下次的研究目标是:基于kerberos协议,通过spnego机制实现CAS与AD间的单点登录(凡是登录域的用户,在访问CAS业务系统时则不需要认证)

 

你可能感兴趣的:(tomcat,C++,c,redhat,C#)