【发布时间】:2016-04-14 00:31:20
【问题描述】:
我的同事使用相互身份验证设置了一个 (Bluemix) 安全网关,供我们的项目使用。他使用 Ruby 和 CURL 对其进行了测试,并且效果很好。但是在配置我的 Liberty 服务器以使用它时,我遇到了很多问题。
我使用了here 找到的说明。
基本上...
要为客户端创建密钥库,请输入以下命令。在以下示例中,创建了 key.p.12。
openssl pkcs12 -export -in "[client]_cert.pem" -inkey "[client]_key" -out "sg_key.p12" -name BmxCliCert -noiter –nomaciter –password pass:<password>
这会创建一个 PKCS12 存储。 (我在下面的 server.xml 中使用这个)
然后我将证书添加到我的密钥库中。
然后,我将 server.xml 更改为拥有一个信任库,如我的
<ldapRegistry baseDN="o=ibm.com" host="bluepages.ibm.com" id="bluepages" ignoreCase="true"
ldapType="IBM Tivoli Directory Server" port="636" realm="w3" sslEnabled="true" sslRef="SSLSettings">
<idsFilters groupFilter="(&(cn=%v)(objectclass=groupOfUniqueNames))" groupIdMap="*:cn" groupMemberIdMap="groupOfUniqueNames:uniquemember" userFilter="(&(emailAddress=%v)(objectclass=person))" userIdMap="*:emailAddress"/>
</ldapRegistry>
<ssl id="SSLSettings" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore"/>
<keyStore id="defaultKeyStore" password="xxxxxx"
location="${server.output.dir}/resources/security/key.jks"/>
<keyStore id="defaultTrustStore"
location="${server.output.dir}/resources/security/sg_key.p12"
type="PKCS12" password="xxxxxx" />
这是问题 #1
当我添加信任库时,我无法再通过我的 LDAP 服务器进行身份验证。它只是说无效的用户或密码。我删除了信任库..我可以再次进行身份验证。因此,添加信任库会产生某种影响。
问题 #2。当我删除我的 LDAP 服务器并只使用基本用户注册表时......我可以登录......但是当我尝试使用安全网关时,我得到......
[err] javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
我已经从安全网关导入了证书,所以不知道为什么会得到这个?
所以有两个问题.. 使用信任库.. 我无法再通过 LDAP 进行身份验证...第二个.. 即使在导入所有证书后也无法连接到安全网关...
任何人都成功地使用了来自 Java 的带有安全网关(相互验证)的 Bluemix?
请求的信息(已编辑)
Enter Import Password:
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
friendlyName: portal
localKeyID: 5F A0 D5 5D 68 C5 39 65 7D 24 D7 78 9B CD 7D 01 FB 1B 00 6D
subject=/ST=NC/C=US/L=RTP/O=IBM Corporation/OU=SWG/CN=*.integration.ibmcloud.com
issuer=/ST=NC/C=US/L=RTP/O=IBM Corporation/OU=SWG/CN=*.integration.ibmcloud.com
-----BEGIN CERTIFICATE-----
INFO
4Q==
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
friendlyName: portal
localKeyID: 5F A0 D5 5D 68 C5 39 65 7D 24 D7 78 9B CD 7D 01 FB 1B 00 6D
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----
INFO
-----END ENCRYPTED PRIVATE KEY-----
【问题讨论】:
-
您能否使用 ikeyman 或命令行工具显示正确添加到 sg_key.p12 的签名者证书?您的信任存储文件似乎有些。
-
嗨,谢谢.. 上面添加了信息。通过 openSSL 提取
-
您已经替换了您的信任库。您可能希望保留它并在其中添加/导入新证书(到默认的 jks 密钥库)
-
Tx Gabriel... 不确定我是否遵循... 我有一个密钥库和一个信任库。 PKCS12 是从 openSSL 创建的。密钥库——我的原始文件。我肯定错过了什么?发送!
-
看起来我的密钥和信任存储混淆了......我现在可以再次使用我的 LDAP 服务器登录......现在我陷入了握手失败。这是否意味着服务器无法就使用的 CIPHER 达成一致?
标签: java ssl ibm-cloud websphere-liberty secure-gateway