如何通过HTTP公开RSA公钥?

Rob*_*iot 6 java rsa http public-key-encryption

我们要求将RSA公钥公开为HTTP资源 - 因此 http://myhost.com/publickeys/akeyid 返回公钥.

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

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

(使用java.security.RSAPublicKey.getEncoded()序列化为字节和java ,可以很容易地从http://tools.ietf.org/html/rfc3280#section-4.1中定义的SubjectPublicKeyInfo字节数组转发..security.spec.X509EncodedKeySpec反序列化那些相同的字节;但是我找不到那种格式的注册媒体类型,它告诉我我应该使用其他格式(x.509证书?).但后来我很挣扎找出如何进行翻译.)

谢谢.

Ste*_*n C 5

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

   "application/x-pem-file"
Run Code Online (Sandbox Code Playgroud)

参考文献:

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


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

  • ...或者你可以使用 application/octet-stream (2认同)