【发布时间】:2017-05-16 11:19:54
【问题描述】:
我必须在运行时从我的 Web 应用程序生成 X509Certificate2 证书,并将其以字节格式存储在我的数据库中。我正在使用here 提供的解决方案。使用此解决方案,您可能能够生成证书,但它也会在机器证书存储中创建它。我不需要证书存在于机器证书存储中,因此我在获得 X509Certificate2 对象后将其从证书存储中删除。
此外,由于我的 Web 应用程序在 IIS_IUSRS 帐户下运行,它最初不允许我使用 MachineContext 创建证书,因此我必须在 UserContext 下进行。即使在 UserContext 下也要创建证书,有一个名为“加载用户配置文件”的应用程序池属性应设置为 true。现在我能够获得所需的结果,但我想检查该方法或在 IIS 中将“加载用户配置文件”设置为 true 是否存在任何问题。
【问题讨论】:
-
您生成证书的目的是什么?
-
我们将使用这些证书进行加密。这些证书将以加密格式存储在数据库中。加密这些证书的密钥将保存在 HSM 中。
-
您应该使用对称密钥进行加密,并使用 HSM 上的主密钥保护这些密钥。
标签: c# iis-7 x509certificate2