2013-01-23 132 views
2

我使用ECKeyPairGenerator創建了一個AsymmetricCipherKeyPair,並且希望存儲私鑰和公​​鑰。使用Bouncy Castle加密和存儲私鑰+公鑰

我發現下面的類和方法來歸檔此:

PrivateKeyFactory.EncryptKey(...) 
EncryptedPrivateKeyInfoFactory.CreateEncryptedPrivateKeyInfo(...) 

什麼是使用建議API?

但是應該使用什麼算法? 我測試「BCObjectIdentifiers.bc_pbe_sha1_pkcs12_aes128_cbc」,得到了一個異常「嘗試使用非PBE算法PBE EncryptedPrivateKeyInfo代」

我還測試了「PBEWITHSHAAND128BITAES-CBC-BC」,它經歷了千百年來完成。

那麼有沒有推薦的方法來存儲(並在稍後閱讀)與Bouncy城​​堡C#的私鑰和公鑰?

+1

你只需要存儲私鑰或者你想要密鑰被打包(即加密)。因爲問題是關於存儲的,而示例指向了PBE(基於密碼的加密)? –

+0

我首先需要存儲密鑰。而API只是加密+編碼。也許你可以展示兩種方式? – dna

+2

您是否嘗試過直接使用PemWriter? http://stackoverflow.com/questions/5090624/bouncy-castle-rsa-transforming-keys-into-a-string-format –

回答

1

你在正確的軌道上,那些是正確的課程。然而,不列顛哥倫比亞省在基於AES的PBE加密算法的綁定中存在缺陷,我現在只是在CVS中修復了這些算法。

+0

我也在努力解決這個問題 - 我需要更新的代碼嗎? – daveBM

+0

發現它 - 需要使用這些算法之一(PBEUtil支持的PBE算法:PBEwithMD2和DES-CBC,PBEwithMD2和RC2-CBC,PBEwithMD5和DES-CBC,PBEwithMD5和RC2-CBC,PBEwithSHA1和DES-CBC,PBEwithSHA1和RC2-CBC,PBEwithSHA-1和128bitRC4,PBEwithSHA-1和40bitRC4,具有SHHA-1和3-keyDESEDE-CBC,具有SHA-1和2-keyDESEDE-CBC的PBE,具有SHHA-1和128位RC2-CBC的PBE,具有SHHA-1和40位RC2-CBC的PBE,具有HmacSHA-1的PBE,具有HmacSHA-224的PBE,具有HmacSHA-256的PBE,具有HmacRIPEMD128的PBE,具有HmacRIPEMD160的PBE和具有HmacRIPEMD256的PBE。 – daveBM

相關問題