9

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

我想用正确的 Internet 媒体类型返回它。那应该是什么?我承认我发现加密 RFC 相当难以理解。

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

(使用java.security.RSAPublicKey.getEncoded () 来序列化为字节和一个 java.security.spec.X509EncodedKeySpec 来反序列化这些相同的字节;但我找不到该格式的注册媒体类型,这表明我应该使用其他格式(一个 x.509 证书?)。但是然后我很难弄清楚如何进行翻译。)

谢谢。

4

1 回答 1

7

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

   "application/x-pem-file"

参考:

注意:“application/x-pem-file”没有注册……显然!...但在许多“文件类型”目录中被引用。


您可能应该通过 HTTPS 传递密钥...

于 2013-10-22T12:10:56.683 回答