如何通过HTTP公开RSA公钥?

时间:2013-10-22 11:29:02

标签: java http rsa public-key-encryption

我们要求将RSA公钥公开为HTTP资源 - 所以 http://myhost.com/publickeys/akeyid 返回一个公钥。

我想使用正确的互联网媒体类型返回它。应该是什么?我承认我发现加密RFC非常难以理解。

作为奖励,我如何使用java.security标准库轻松地从该格式翻译?

(使用java.security.RSAPublicKey.getEncoded()来序列化为字节,并使用java.security.spec.X509EncodedKeySpec对http://tools.ietf.org/html/rfc3280#section-4.1中定义的SubjectPublicKeyInfo字节数组进行切换,这很容易。相同的字节;但是我找不到那种格式的注册媒体类型,它告诉我我应该使用其他格式(x.509证书?)。但后来我很难弄清楚如何进行翻译。 )

感谢。

1 个答案:

答案 0 :(得分:5)

另一种方法是将PKCS#1格式RSA公钥编码为PEM文件,然后使用MIME类型:

   "application/x-pem-file"

参考文献:

注意:" application / x-pem-file"没注册......显然! ...但是在"文件类型"。

的许多目录中被引用

您可能应该通过HTTPS提供密钥...