我什么时候应该使用 CryptoAPI、System.Security.Cryptography 和 Bouncycastle?
据我所知 BouncyCastle & System.Security.Cryptography 提供执行高级任务的能力,而 CryptoAPI 的级别稍低。
我被告知 BouncyCastle 不符合 FIPS 标准,而 CryptoAPI 允许这样做。这是真的吗?
我什么时候应该使用其中一种而不是另一种?
From what I can tell BouncyCastle & System.Security.Cryptography provides ability to do high level tasks while CryptoAPI is somewhat lower level.
I'm told BouncyCastle is not FIPS compliant, while CryptoAPI allows for this. Is this true?
When should I use one over the other?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想要访问平台服务(例如系统信任设置以及访问通过 CryptoAPI 公开的智能卡和其他硬件加密设备),您应该使用 CAPI 或支持使用 CAPI 密钥的东西(System.Security.Cryptography 按名称建议它,但我不这样做对 C#/.NET 了解不多)
我不知道 BC 是否提供对 CAPI 密钥的访问。如果您预计您的解决方案需要它,请使用 CAPI。我假设您的应用程序不可移植(因为 c#),所以我建议您使用 CAPI(或 System.Security.Cryptography,如果它依赖于 CAPI,所有微软提供的 API 都应该这样做)
If you want access to platform services (like system trust settings and access to smart cards and other hardware crypto devices exposed via CryptoAPI) you should use CAPI or something that supports using CAPI keys (System.Security.Cryptography suggets it by name but I don't know much about C#/.NET)
I don't know if BC provides access to CAPI keys or not. If you envision your solution would need it, use CAPI. I assume that your application will not be portable (because of c#) so I'd suggest you use CAPI (or System.Security.Cryptography if it relies on CAPI, which all microsoft provided API-s should do)