我正在开发一个用 C# 编写的应用程序,我基本上需要充当我自己的证书颁发机构。数据流是这样的:
- 最终用户生成一个公钥/私钥对,并向我发送他们的身份证明和带有公钥的某种证书请求
- 该应用程序验证他们的 ID
- 验证完成后,应用程序会根据本地自签名根生成 X.509 证书,并将其发送给用户
- 用户使用证书签署文件,并将文件发送到应用程序
- 该应用程序根据签名验证文件,并将结果存储在 SQL Server 中。
我的问题:
- 您是否知道描述如何在不依赖外部 CA 且不调用命令行实用程序或使用 COM 对象的情况下创建和使用 X.509 证书的教程或代码示例?我看过这
X509Certificate2
门课,但 MSDN 中的示例并没有显示我所追求的。 - 是否可以使用 SQL Server 2008+ 进行一些证书处理?也许使用
CREATE CERTIFICATE FROM FILE
andBACKUP CERTIFICATE
? - 如果不能用标准的 Windows 库来完成,那么可以用 C# Bouncy Castle 库来完成吗?如果是这样,是否有一些好的代码示例?