【问题标题】:Encrypt and store a private+public key with Bouncy Castle使用 Bouncy Castle 加密和存储私钥+公钥
【发布时间】:2013-01-23 07:15:07
【问题描述】:

我使用 ECKeyPairGenerator 创建了一个 AsymmetricCipherKeyPair,并希望存储私钥和公​​钥。

我找到了以下类和方法来存档:

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

推荐使用什么 API?

但是应该使用什么算法呢? 我测试了“BCObjectIdentifiers.bc_pbe_sha1_pkcs12_aes128_cbc”并得到一个异常“尝试使用非 PBE 算法生成 PBE EncryptedPrivateKeyInfo”

我还测试了“PBEWITHSHAAND128BITAES-CBC-BC”,它需要很长时间才能完成。

那么有没有推荐的方法来使用 Bouncy Castle C# 存储(并稍后读入)私钥和公钥?

【问题讨论】:

  • 您只需要存储私钥还是希望密钥被包装(即加密)。因为问题是关于存储的,而例子指向PBE(基于密码的加密)?
  • 我首先需要存储密钥。而且API只有加密+编码。也许你可以同时展示两种方式?
  • 你试过直接使用PemWriter吗? stackoverflow.com/questions/5090624/…

标签: c# cryptography bouncycastle private-key


【解决方案1】:

你在正确的轨道上,那些是正确的课程。然而,BC 在基于 AES 的 PBE 加密算法的绑定中存在错误,我刚刚在 CVS 中修复了这些错误。

【讨论】:

  • 我也在努力解决同样的问题 - 我需要更新的代码吗?
  • 找到了 - 需要使用以下算法之一(PBEUtil 支持的 PBE 算法:PBEwithMD2andDES-CBC、PBEwithMD2andRC2-CBC、PBEwithMD5andDES-CBC、PBEwithMD5andRC2-CBC、PBEwithSHA1andDES-CBC、PBEwithSHA1andRC2-CBC、PBEwithSHA -1and128bitRC4, PBEwithSHA-1and40bitRC4, PBEwithSHA-1and3-keyDESEDE-CBC, PBEwithSHA-1and2-keyDESEDE-CBC, PBEwithSHA-1and128bitRC2-CBC, PBEwithSHA-1and40bitRC2-CBC, PBEwithHmacSHA-1, PBEwithHmacSHA-224, PBEwithHmacSHA-256, PBEwithHmacRIPEMD12 ,以及带有 HmacRIPEMD256 的 PBE。)
猜你喜欢
  • 1970-01-01
  • 2018-10-06
  • 2022-06-16
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
相关资源
最近更新 更多