2013-10-22 119 views
4

我們有要求公開RSA公鑰作爲HTTP資源 - 所以 http://myhost.com/publickeys/akeyid 返回一個公鑰。RSA公鑰如何通過HTTP公開?

我想用正確的Internet媒體類型返回它。那應該是什麼?我承認我發現密碼RFC非常難以理解。

作爲獎勵,我該如何使用java.security標準庫輕鬆地將該格式轉換爲該格式?

(這是很容易從和到一個SubjectPublicKeyInfo進行字節數組去如使用java.security.RSAPublicKey.getEncoded()序列化的字節和一個java.security.spec.X509EncodedKeySpec反序列化這些相同的字節中http://tools.ietf.org/html/rfc3280#section-4.1定義;但我無法找到該格式的註冊媒體類型,這表明我應該使用其他格式(x.509證書?)。但是,然後我很難找出如何進行翻譯。)

謝謝。

回答

1

一個替代方案將是編碼PKCS#1格式的RSA公共密鑰爲PEM文件,然後使用MIME類型:

"application/x-pem-file" 

參考文獻:

注意:「application/x-pem-file」未註冊ered ...顯然! ...但是在許多「文件類型」的目錄中被引用。


你或許應該提供超過HTTPS ...

+0

真正的關鍵,而我們,謝謝。 –

+0

application/x-pem-file看起來像我們將要得到的最接近的,謝謝。對於二進制DER編碼的公鑰沒有媒體類型,因爲這對我們來說是理想的。我想因爲PEM不是一個標準,也沒有什麼能阻止我們定義我們自己的... –

+0

...或者你可以使用application/octet-stream –