网页访问配置方法
目录
ufida.p12证书库导入D:\IBM\HTTPServer\Plugins\config\webserver1\plugin-key.kdb证书库
ufida.p12证书导入D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\key.p12证书库
ufida.p12证书库导入D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\trust.p12证书库
合成p12证书文件
客户共提供三个文件
这三个文件中cer为证书文件 key为私钥文件 jks为加密库文件。均可使用,签名相同,但是需要进行转化。
WAS支持p12格式。
首先拿到厂商给的cer和key。密码为123qwe
用openssl合成为efivestar.com.p12
合成步骤
1. 下载win64的Openssl,可到http://slproweb.com/products/Win32OpenSSL.html下载,这里下载1.0.1j版本
2. 下载Openssl源码,去官网http://www.openssl.org/下载即可。如下图
解压openssl-1.0.1j.tar.gz,找到\openssl-1.0.1j\apps目录,拷贝demoCA目录和openssl.cnf文件到Openssl的安装目录下的bin目录下(即D:\OpenSSL-Win64\bin\)。
3. 进行合成
合成后如下
Httpd.conf文件配置
文件位置\IBM\HTTPServer\conf\httpd.conf
修改httpd.conf文件增加如下内容(在原来标准配置文件的大约233行下增加)。
//其中SSLClientAuth Required参数是启动客户端双重认证。
//如果客户端不想导入证书,无需客户端认证,那么这个值Required设置成Optional
d:\ibm\HTTPServer是HTTPServer的安装路径。
javavag 是机器名称
# SSL config
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 0.0.0.0:443
<VirtualHost *:443>
ServerName javavag
SSLEnable
SSLClientAuth Optional
Keyfile "d:\ibm\HTTPServer\Plugins\config\webserver1\plugin-Key.kdb"
SSLStashfile "d:\ibm\HTTPServer\Plugins\config\webserver1\plugin-Key.sth"
</VirtualHost>
SSLDisable
导入用户提供的证书到was的证书库
用户提供的证书库文件的格式需要为PKCS12, 该格式以p12为后缀,在用友的安装目录下有一个默认的证书库文件,如\nc55\bin\cert\ufida.p12。
下面的安装案例以ufida.p12为例。如果是用户的证书库文件,则凡是选择ufida.p12文件的地方换为对应的用户库文件即可。如果是WAS8.5,则对应的文件存在于C:\IBM8\WebSphere\Plugins\etc下。
ufida.p12证书库导入D:\IBM\HTTPServer\Plugins\config\webserver1\plugin-key.kdb证书库
- 执行
D:\IBM\HTTPServer\bin\ikeyman.bat
- 打开密钥数据库文件
- 输入密码,默认为:WebAS
- 删除plugin-key.kdb中默认的证书库
- 导入用户提供的证书库
- 打开源密钥数据库
打开源密钥数据库的密码efivestar.com.p12的密码为:123qwe
- 设置该证书为缺省证书
双击上图中选中的证书, 设置该证书为缺省证书,如果只有一个证书,则默认为缺省。
ufida.p12证书导入D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\key.p12证书库
说明: javavag为安装WAS软件所在的机器名
运行D:\IBM\AppServer\bin\ikeyman.bat
- 打开WAS中证书库文件
密码默认为: WebAS
- 导入用户提供的密钥文件
- 打开源密钥数据的密码ufida.p12的密码为:123qwe
ufida.p12证书库导入D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\trust.p12证书库
说明: javavag为安装WAS软件所在的机器名
运行D:\IBM\AppServer\bin\ikeyman.bat
- 打开WAS中证书库文件
- 打开密钥数据库文件
密码默认为:WebAS
- 导入用户提供的密钥文件
- 打开源密钥数据的密码ufida.p12的密码为:123qwe
ufida.p12证书库导入分别导入库
D:\IBM\AppServer\profiles\AppSrv01\config\cells\javavagCell01\nodes\javavagNode01\key.p12
和
D:\IBM\AppServer\profiles\AppSrv01\config\cells\javavagCell01\nodes\javavagNode01\trust.p12
说明: javavag为安装WAS软件所在的机器名,如果有多个Node,则需要在每个Node中都要
分别导入. 如 javavagNode01 ,如果还有Node, 应该为javavagNode02 。
- 打开WAS中证书库文件
运行D:\IBM\AppServer\bin\ikeyman.bat
打开WAS中证书库文件,然后导入用户提供的密钥文件
同样的方法打开WAS中证书库文件,然后导入用户提供的密钥文件
如果集群中还有其他节点,也要把证书倒入其中的库中。文件位置类似下面。
D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\ trust.p12
D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\ key.p12
D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\nodes\javavagNode01\ trust.p12
D:\IBM\AppServer\profiles\Dmgr01\config\cells\javavagCell01\nodes\javavagNode01\ key.p12
D:\IBM\AppServer\profiles\AppSrv01\config\cells\javavagCell01\ trust.p12
D:\IBM\AppServer\profiles\ AppSrv01\config\cells\javavagCell01\ key.p12
D:\IBM\AppServer\profiles\AppSrv01\config\cells\javavagCell01\nodes\javavagNode01\ trust.p12
D:\IBM\AppServer\profiles\ AppSrv01\config\cells\javavagCell01\nodes\javavagNode01\ key.p12
导入NC证书
进入nchome/bin
执行wasCertcmd.bat IMP命令导入证书。
将NC证书导入到WAS的jdk受信任库当中。
启用WAS安全性
点击安全配置向导。
WAS管理控制台同步节点信息
作完上述操作后在was的控制台的节点管理处选择全部节点作全部再同步操作。
生成插件和传播插件
需要手动生成webserver1
保存后提交,然后点击nc63应用
- 管理模块的映射
将<plunin-install>/bin/ configurewebserver1.bat文件拷贝到dmgr的<was-install>/bin目录运行,进行管理模块的映射。
重新导入plugin的证书
同导入用户提供的证书到was的证书库相同
重启WAS
然后将WAS全部重新启动。即可使用https://ip:443访问
浏览器端安装证书即可访问
可以看到证书信息为rapidssl sha256 ca
如果浏览器不能访问,请清除缓存之后再试。
疑难问题
illegal key size
有时候导入证书的时候会提示,由于JRE的策略问题导致无法进行。由于WAS默认只支持128位的key,超过128位的key时候必须要求进行Policy的文件设置。会报告illegal key size,此时需要进行策略替换。将策略文件替换为无强度文件。
以windows下,jdk1.6为例,将jce_policy-6.zip下的两个jar包复制到 jdk安装目录下
例x:\java\jdk1.6.0_10\jre\lib\security\
覆盖原有文件即可,需要同时修改两个地方。
D:\IBM\HTTPServer\java\jre\lib\security 和 D:\IBM\WebSphere\AppServer\java\jre\lib\security
- 下载地址
或者
http://download.csdn.net/download/java814483194/8722233
必须使用IBM的策略文件。oracle的无效!!!
通过IHS转发的时候找不到页面
打印出日志可以看到
重新用ikeyman打开证书后发现,Plugin里面的证书由于刚才重新生成,被覆盖掉了。重新导入证书。
同时可以发现,HIS conf的配置文件也有一些问题。需要改为如下
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 20.10.80.15:443
<IfModule mod_ibm_ssl.c>
Listen 443
<VirtualHost *:443>
SSLEnable
SSLClientAuth Optional
ErrorLog logs/erroryk_log
</VirtualHost>
</IfModule>
SSLDisable
Keyfile "D:\IBM\HTTPServer\Plugins\config\webserver1\plugin-Key.kdb"
SSLStashfile "D:\IBM\HTTPServer\Plugins\config\webserver1\plugin-Key.sth"
全部重启后生效,发现仍然报错。
查询IBM官网,找到SSL0208E.
发现报错为接受的证书无法验证检查。
猜想可能是plugin和应用没有进行绑定。于是再次进行configwebserver1.bat的运行。
全部重启server和apache即可