通过HTTP传递客户端证书

时间:2013-06-06 12:33:12

标签: security http ssl certificate ssl-certificate

我们有需要通过Http传递客户端证书和密钥的用例。 这必须在单个HTTP请求中实现。意思是,客户端将发送HTTP GET,在HTTP响应中我们需要发送clientCertificate和密钥。

我尝试过以下测试,

  1. 我生成了包含客户端密钥和证书的pem文件,并将http reposne的内容类型设置为“application / x-pem-file”  [结果]:Mozilla和chrome不了解mime类型及其要求保存。

    1. 如果我使用mime类型“application / x-x509-user-cert”,则mozilla会解释mime类型但会抛出错误。
  2. 我不确定我们如何实现这一点(通过HTTP将客户端证书和密钥传递给浏览器)。请帮助我们。

    由于 普拉迪普

1 个答案:

答案 0 :(得分:1)

首先,您需要确定要发送的密钥。私钥几乎从未以这种方式传输 - 这是一个很大的安全漏洞。如果您只发送公钥 - 这个公钥已经包含在证书中。

现在证书的规范格式是二进制DER编码。 PEM和任何同样非标准的东西都没有机会被浏览器识别。即你可以发送什么,并希望它将由浏览器处理是二进制DER证书本身。