【问题标题】:C# Certificate generation frameworkC# 证书生成框架
【发布时间】:2012-06-29 06:23:40
【问题描述】:

有人知道可以生成公钥/私钥、X.509 证书并签署这些证书的 C# 框架吗?

【问题讨论】:

    标签: c# .net certificate x509


    【解决方案1】:

    BouncyCastleCrypto,就像一个疯狂的名字一样,我很确定它拥有所有这些功能。几乎所有的 RFC 标准都已实施。几年前我使用它时,它的文档记录很差,但是单元测试非常彻底,以至于您可以搜索某些关键字,例如“509”,并找到正在执行框架部分的单元测试你需要。

    我真的发现我必须详细阅读一些 RFC 标准才能了解如何使用该框架。他们真的没有付出任何努力来使事情变得像“cert.Sign(key)”这样简单。相反,它非常精细,您必须创建六个对象并确切地知道如何将它们组合在一起才能完成某件事。但是,如果您知道如何运用这种力量,这将为您提供完全的灵活性和力量。

    我个人用它来加载 X.509 证书,执行各种密钥生成任务,数字签名/验证,自签名等,但我早就忘记了所有这些,所以除了自信之外没有太多帮助,它可以完成。

    【讨论】:

    • 很好的答案....但我认为开发人员应该始终了解他们正在使用什么(即 RFC 标准),以便以正确的方式实现它。此外,好的文档总是可以稍后完成,好的代码和好的单元测试更难正确,文档可以稍后再处理。
    • @Ramhoud 我同意,但我的观点是 RFC 标准远远超出了理解如何正确应用技术的范围,还包括诸如数据如何打包到消息中的详细信息,以及所有各种id 和基础设施,让其他 API 变得更简单。 BouncyCastle 是一个如此低级的 API,需要您熟悉许多其他 API 抽象出来的东西。不过,不要敲打 BouncyCastle,因为我确信他们的目的是公开所有这些低级细节,而且他们做得很好,这给了你更多的灵活性。
    【解决方案2】:

    我还建议将 Bouncy Castle 库用于生产目的。但是,如果您想要一些不太全面且学习曲线更温和的东西,您可以使用 Windows 自己的证书创建工具,makecert.exe。您可以使用 Process.Start 从 C# 运行它,并提供正确的命令行参数。

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      相关资源
      最近更新 更多