雨辰RainTime 发表于 2013-1-16 02:22:20

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      = zz@ncs-cyber.com.cn [ 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 -CAkeyc:\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业务系统时则不需要认证)
 
页: [1]
查看完整版本: CAS3.4 关于PAM模块SSL的详细配置