【发布时间】:2016-12-05 07:27:46
【问题描述】:
我想接收一个客户端证书,该证书是使用 java spring 在 post 请求中发送的。有人有这样做的例子吗?如果标题设置为“应用程序/二进制”,我还想控制更多!有什么想法吗?
【问题讨论】:
我想接收一个客户端证书,该证书是使用 java spring 在 post 请求中发送的。有人有这样做的例子吗?如果标题设置为“应用程序/二进制”,我还想控制更多!有什么想法吗?
【问题讨论】:
如果您在 SSL 上下文中,您可以通过以下方式从请求中获取证书链:
(X509Certificate[]) req.getAttribute("javax.servlet.request.X509Certificate")
参考:Reading Client Certificate in Servlet
如果您在 SSL 上下文之外并且想要将 X509 对象发送到 POST 的正文中,您必须以某种方式对其进行序列化,例如在 Base64 中并像任何其他属性一样读取它。
要检查内容类型,只需从 HttpServletRequest 获取它:
contetType = request.getContentType();
contentType.equals("application/binary");
使用 Spring MVC 获取请求:Spring 3 MVC accessing HttpRequest from controller
【讨论】: