【问题标题】:creating certificate programmatically using cert authority使用证书颁发机构以编程方式创建证书
【发布时间】:2011-06-07 08:26:00
【问题描述】:

我公司的一台运行 Windows 2000 的服务器正在托管一个证书颁发机构(基于 Microsoft)。当我打开 Web 浏览器并输入 http://server_name/certsrv 时,我会看到一个页面(标题为 Microsoft 证书服务),它允许我向该 CA 创建一个证书请求并取回一个证书,然后我将其安装在本地 PC 的 certstore 中。

我希望使用 C# 以编程方式执行此操作,因为我需要生成大量证书。

我不知道我在寻找什么 API。

任何建议都会有所帮助。

提前致谢,

分部

【问题讨论】:

    标签: x509certificate


    【解决方案1】:

    正如您已经发现的那样,从您最近的问题来看,您可以使用来自标准 .NET 框架的 System.Security.CryptographySystem.Security.Cryptography.X509Certificates 命名空间,也可以使用开源的 Bouncy Castle 库。这些是您正在寻找的 API。或者,您可以使用 OpenSSL 并从您的 .NET 代码中调用它,但我会坚持使用纯 .net 解决方案。

    【讨论】:

    • 这些命名空间是我的首选,但我能够获得一些关于使用 Bouncy Castle 库创建 CSR 的示例代码。正如你所说,我正在考虑 OpenSSL,但我想坚持使用纯 .NET 而不是调用非托管代码。
    【解决方案2】:

    您能否提供有关您的要求的更多信息?

    诸如:私钥将在哪里生成?您会使用来自远程主机的 CSR 吗?你想要什么样的输出:

    例如,您会生成包含私有部分和公共部分的 PKCS12 文件,还是只输出公共部分并将私有部分保存在其他地方?

    【讨论】:

    • 是的,我将生成带有私有和公共部分的 PKCS12 文件。我的 CSR 将包含一个标志,用于将私钥标记为可导出,以便在颁发证书后生成 PFX 文件。
    猜你喜欢
    • 2012-10-31
    • 2015-04-11
    • 2011-12-11
    • 2021-10-13
    • 2018-06-19
    • 2015-02-18
    • 2012-04-18
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多