2011-12-07 44 views
3

我需要使用Java生成PKCS12文件。 其實,我需要使用OpenSSL的自動執行下列證書生成(在CA之前創建,而不是假裝自動化其創作):使用Java生成PKCS12文件

的OpenSSL genrsa -out client.key 2048

OpenSSL的REQ - 新-key client.key退房手續的client.csr

OpenSSL的CA -keyfile的ca.key -cert ca.crt退房手續client.crt -policy policy_anything -infiles的client.csr

OpenSSL的PKCS12 -export -in client.crt -inkey client.key -out client.p12 -name c lient

我想知道是否有可能不使用BouncyCastle的或類似的庫執行此,僅僅只有JCE,因爲我沒有找到與PKCS12生成有關的任何信息。

回答

1

創建密鑰對和證書沒有問題,但JCE沒有用於簽名的API(這絕對是我花了很多時間搜索的)。 Bouncycatle lib是一個正確的選擇。

2

創建PKCS#12很簡單 - 可以通過編寫KeyStore「PKCS12」實例,添加證書和密鑰,然後使用store(...)方法將其保存到文件中來完成。

其餘的是有點問題。

+0

感謝您的回答羅伯特,問題是我不使用密鑰庫。我只是創建了這個pkcs證書作爲網絡註冊的結果,以控制新用戶創建了對其他URL的訪問。所以,我需要重新生成註釋的openssl命令,它只創建一個pkcs,沒有密鑰存儲。 – vwfziwl

+1

從Java的角度來看,PKCS#12文件是一個KeyStore。 Java包含許多KeyStore實現,如PKCS#12和JKS。兩者都以完全相同的方式訪問 - 只需使用java.security.KeyStore.getInstance(「PKCS12」);' – Robert