单点登录环境设置

单点登陆设置主要分为SSL加密证书和应用JVM环境配置

证书文件后缀名
•KEY – 存放私密key的文件
•CSR – 待签名证书,未被CA认证的文件,如果它被签证后,没有需要的,可以删除
•CRT – 公密证书文件.公开的给第三方使用的文件
•PEM – 包含 key 和服务器证书的文件. 但要区分开其使用,通常服务器,会使用这些文件格式
•CRL – 生成的证书列表

SSL证书

1. 创建证书

生成 keystore 的文件
  • 命令格式
%JAVA_HOME%\jre\bin\keytool -genkey -alias ssl -keyalg RSA -validity 3650 -keystore #keystore文件路径#
  • 例子
%JAVA_HOME%\jre\bin\keytool -genkey -alias ssl -keyalg RSA -keystore d:/ssoserver/ssl.keystore
输入密码: ssluser

输入名字与姓名为 : sslportal

输入主密码相同

修改 hosts 文件,把对应的IP映射成 对应的ip

2. 导出证书

从原来生成的keystore库中导出加密证书
  • 命令格式
%JAVA_HOME%\jre\bin\keytool -export -file #生成的crt文件路径#
-alias ssl -keystore #keystore文件路径#
  • 例子
%JAVA_HOME%\jre\bin\keytool -export -file d:/ssoserver/ssl.crt -alias ssl -keystore d:/ssoserver/ssl.keystore

3. 导入证书

将生成后的ssl.crt 导入需要访问的Java 应用虚拟机
  • 命令格式
%JAVA_HOME%\jre\bin\keytool -import -file #生成的crt文件路径#
-alias ssl -keystore #导入keystore文件路径#
  • 例子
%JAVAHOME%\jre\bin\keytool -import -file d:/ssoserver/ssl.crt -alias ssl -keystore %JAVAHOME%\jre\security\cacerts

创建私有CA

1 . 建立标准的CA目录结构
由于网上有相关资备在这里不再详细说明

先进入到CA的根目下
cd CA
2. 生成 CA 证书的 RSA 密钥对
  • 命令 :
%OPENSSL_HOME%\bin\openssl genrsa -out ./sslca-key.pem 4096
  • 参数解释 :
genrsa --- 用于生成 RSA 密钥对的 OpenSSL 命令
-out --- 令生成的密钥对保存到文件
4096 --- RSA 模数位数,在一定程度上表征了密钥强度
3. 生成CA自身待签名证书
  • 命令 :
%OPENSSL_HOME%\bin\openssl req -new -out ./sslca-req.csr -key ./sslca-key.pem -config c:\openssl\my-openssl.cnf
  • 参数解释 :
req --- 用于生成证书请求的 OpenSSL 命令
-new --- 生成一个新的证书请求
-key --- 指定 sslca-key.pem 为证书所使用的密钥对文件
4. 对CA私钥进行自身签名
  • 命令 :
%OPENSSL_HOME%\bin\openssl x509 -req -in ./sslca-req.csr -signkey ./sslca-key.pem -out ./sslca-cert.pem -days 3650
  • 参数解释 :
x509 --- 生成一份 X.509 证书
-in --- 指定用户证书请求文件(上步待签名的文件)_为 sslca-req.csr
-signkey --- 把输入的文件变成字签名的证书
-days --- 该CA证书的有效日期 , 3650 表示为 10年


CA认证

如果使用OpenSSL的通读协议和Tomcat Native 功能,使用SSL就需要证书进行CA认证
生成服务器证书请求(待签名证书)
  • 命令 :
%JAVA_HOME%\jre\bin\keytool -certreq -file ./certs/ssl.csr -keystore d:/ssoserver/ssl.keystore -alias ssl
输入ssl.keystoe的口令:ssluser
使用CA私钥进行签名
  • 命令 :
%OPENSSLHOME%\bin\openssl x509 -req -in ./certs/ssl.csr -out ./newcerts/sslcert.pem -CA ./sslca-cert.pem -CAkey ./sslca-key.pem -days 3650 -setserial 1
  • 参数解释 :
x509 --- 生成一份 X.509 证书
-in --- 指定用户证书请求文件(上步待签名的文件)_为 sslca-req.csr
-CA--- 已签名的CA证书
-CAkey --- CA提供的加密密钥
-days --- 该CA证书的有效日期 , 3650 表示为 10年

应用JVM环境配置

5、 配置tomcat/conf/server.xml的第82行左右,放开注释改成如下内容
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="e:/keys/mbaobao" keystorePass="mbaobao" />

Last edited Oct 13, 2012 at 5:24 AM by vison_ruan, version 20

Comments

No comments yet.