方法二:用keytool+win2000认证服务器生成密钥库和信任库
1,生成密钥库
Keytool –genkey –alias mykey –keystore test.jks
根据提示输入keystore的密码,用户实体信息。
注意:如果使用RSA加密算法,weblogic不支持RSA 1024bits,加 –keysize 512。Keytool的默认算法是DSA其默认长度为1024bits,weblogic可以支持DSA 1024bits。
2,生成认证请求
Keytool –certreq –alias mykey –keystore test.jks –file test.pem
为test.jks生成向认证机构提交的认证请求test.pem。(pem 表示生成的文本信息)
3,点击开始—所有程序—管理工具—证书颁发机构,再右击机构图标—所有任务—提交一个新的申请
4,从打开申请文件窗体中选择我们生成的test.pem文件
5,点击挂起的申请,我们可以看到申请以处于等待认证状态
6,选择该申请,点击右键—所有任务—颁发
7,点击颁发的证书,我们可以看到证书已经生成。
8,选择生成的证书,点击右键—打开
9,可以看到显示的证书窗体
10,选择详细信,点击位于下部的复制到文件按钮。
11,选择存放路径,并输入存储的证书名称CACCtest.cer
12,点击证书路径,选择根证书,点击查看证书按钮,以上面的流程导出根证书到CACC.cer
13,将证书存入test.jks,相当于信任库
Keytool –import –alias CACC –keystore test.jks –file CACC.cer
Keytool –import –alias CACCtest –keystore test.jks –file CACCtest.cer
14.修改私钥的证书链
Keytool –import –alias mykey –trustcacerts –keystore test.jks –file CACCtest.cer
与上句不同的地方是:1,别名不同;2,有–trustcacerts参数。
15.查看生成的密码库test.jks的内容
C:\work_space\certkey\wst>keytool -list -v -keystore test.jks
输入keystore密码: 781121
/********************显示test.jks的内容********************/
Keystore 类型: jks
Keystore 提供者: SUN
您的 keystore 包含 3 输入
别名名称: CACCtest
创建日期: 2008-6-7
输入类型: trustedCertEntry //证书域
Owner: CN=userone, OU=CACC, O=CACC, L=bj, ST=bj, C=ch
发照者: CN=CACC
序号: 616f5383000000000007
有效期间: Mon Jun 07 10:47:11 CST 2008 至: Tue Jun 07 10:57:11 CST 2009
认证指纹:
MD5: 0A:EE:48:A6:16:2E:82:2C:9F:A9:9E:0E:D7:A5:6E:5D
SHA1: 31:74:E7:DE:73:90:7E:F2:CA:99:A7:A4:A7:18:7C:C8:C9:91:78:45
*******************************************
*******************************************
别名名称: mykey
创建日期: 2008-6-7
输入类型:KeyEntry //密钥域
认证链长度: 2
认证 [1]:
Owner: CN=userone, OU=CACC, O=CACC, L=bj, ST=bj, C=ch
发照者: CN=CACC
序号: 616f5383000000000007
有效期间: Mon Jun 07 10:47:11 CST 2008 至: Tue Jun 07 10:57:11 CST 2009
认证指纹:
MD5: 0A:EE:48:A6:16:2E:82:2C:9F:A9:9E:0E:D7:A5:6E:5D
SHA1: 31:74:E7:DE:73:90:7E:F2:CA:99:A7:A4:A7:18:7C:C8:C9:91:78:45
认证 [2]:
Owner: CN=CACC
发照者: CN=CACC
序号: 71798d4bacf08fa6429536634fd3e119
有效期间: Mon May 31 16:18:35 CST 2008 至: Sun May 31 16:26:36 CST 2009
认证指纹:
MD5: 88:F8:72:8A:8F:86:9F:9F:CA:BC:D5:68:91:5B:0C:FB
SHA1: 31:7D:F2:68:13:78:CF:5D:49:A4:FF:61:1F:7F:53:46:A3:C2:F4:9A
*******************************************
*******************************************
别名名称: CACC
创建日期: 2008-6-7
输入类型: trustedCertEntry //证书域
Owner: CN=CACC
发照者: CN=CACC
序号: 71798d4bacf08fa6429536634fd3e119
有效期间: Mon May 31 16:18:35 CST 2008 至: Sun May 31 16:26:36 CST 2009
认证指纹:
MD5: 88:F8:72:8A:8F:86:9F:9F:CA:BC:D5:68:91:5B:0C:FB
SHA1: 31:7D:F2:68:13:78:CF:5D:49:A4:FF:61:1F:7F:53:46:A3:C2:F4:9A
*******************************************
注意:
配置的test.jks密码库中,别名mykey是存放的私钥和证书链(密钥库),别名CACC是存放CACC发证机构的根证书,别名CACCclient是存放CACC颁发给本密钥库的证书。
另外:
1,不加入根证书,weblogic启动时正常但运行程序就会报错。
java.net.SocketException: Software caused connection abort: recv failed
2,不加本地证书,一切正常。
3,不加根证书和本地证书,weblogic启动时就报错。
<2008-6-7 下午16时08分09秒 CST> <Emergency> <Security> <BEA-090034> <Not listening for SSL, java.io.IOException: Inconsistent security configuration, SSL is configured to require clients to present their certificates, however, no trusted certificates have been loaded. The trusted certificates are necessary for validating client certificates..>
4,从ibm的文档可以看出信任库中只需要放入根证书就行。





