c# – 使用crypt32.dll创建签名证书
发布时间:2020-12-16 01:30:22 所属栏目:百科 来源:网络整理
导读:我想以C#.net编程方式创建由CA签名的证书.我能够使用CertCreateSelfSignCertificate创建一个自签名证书,如下所述: http://msdn.microsoft.com/en-us/library/aa376039(VS.85).aspx Self Signed Certificate in Windows without makecert? 我正在查看MSDN文
我想以C#.net编程方式创建由CA签名的证书.我能够使用CertCreateSelfSignCertificate创建一个自签名证书,如下所述:
http://msdn.microsoft.com/en-us/library/aa376039(VS.85).aspx Self Signed Certificate in Windows without makecert? 我正在查看MSDN文档,我似乎无法找到生成证书并从请求中签名的函数.大多数函数似乎是用于操作证书库.我在这里咆哮错了吗? 解决方法
我尝试了非托管方法也没有成功.与此相反,使用
BouncyCastle创建证书非常简单:
var keygen = new RsaKeyPairGenerator(); keygen.Init(new KeyGenerationParameters(new SecureRandom(),2048)); var keys = keygen.GenerateKeyPair(); var certGen = new X509V3CertificateGenerator(); var dnName = new X509Name("CN=Test CA"); certGen.SetSerialNumber(BigInteger.ValueOf(1)); certGen.SetIssuerDN(dnName); certGen.SetNotBefore(DateTime.Today); certGen.SetNotAfter(DateTime.Today.AddYears(10)); certGen.SetSubjectDN(dnName); certGen.SetPublicKey(keys.Public); certGen.SetSignatureAlgorithm("SHA1WITHRSA"); var cert = certGen.Generate(keys.Private); 这是一个自签名CA证书,但创建签名证书是相同的.只需更改颁发者和签名私钥即可.您还可以将证书导出到DER(.cer)和PKCS12(.p12). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |