如何从Bluemix上的servlet访问客户端证书

时间:2016-05-20 18:56:23

标签: ibm-cloud client-certificates

我知道我可以在Bluemix上使用自定义域的客户端证书。此处说明了设置信任库的过程:https://console.ng.bluemix.net/docs/manageapps/secapps.html Bluemix将验证客户端证书作为TLS握手的一部分。到目前为止,非常好。

我在自定义域上运行Bluemix中的Java servlet,我想查看客户端证书中的详细信息。通常的方法是HttpServletRequest.getAttribute(“javax.servlet.request.X509Certificate”);相同的方法是否适用于Bluemix?如果没有,是否有另一种方法来获取该客户端证书的详细信息?

1 个答案:

答案 0 :(得分:1)

当使用在自定义域上运行的Bluemix应用程序执行相互身份验证时,应设置名为$WSCC的HTTP标头。该标头的值是基于64位编码的客户端证书(仅一个)。如果您的应用程序与Liberty运行时一起运行(使用Liberty buildpack部署),您应该能够使用HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate")调用来检索该证书。在其他运行时,您可能必须直接查找该标头。