使用符合FIPS的充气城堡获取带有私钥的X509证书的X509证书 充气城堡 bc-fips-1.0.2

Get X509Certificate2 with Private key from Bouncy Castle X509Certificate using FIPS compliant Bouncy Castle bc-fips-1.0.2

提问人:kaushik 提问时间:11/7/2023 更新时间:11/7/2023 访问量:31

问:

注意:- 我知道类似的问题已经得到解答,但这个问题特定于符合 FIPS 标准的充气城堡。在将问题标记为重复之前,请阅读整个问题。谢谢。

目标:我有一个用户的 BouncyCastle X509 证书,我想将私钥添加到此证书中,并希望将其转换为与 Windows 兼容的 X509Certificate2 格式。

上下文:以前我使用Portable.BouncyCastle Nugget,并且它运行良好(以下代码片段)但是现在由于FIPS合规性,我将使用bc-fips-1.0.2.dll。由于 PKCS12Store 类不再可用,我的代码不起作用,我也查看了源代码,但没有找到合适的类。(可能是我在那里遗漏了什么)

private Task<byte[]> GetCertificateWithPrivateKey(string subject, string password, Org.BouncyCastle.X509.X509Certificate bcIssuedCert, AsymmetricCipherKeyPair rsaKeyPair)
        {
           using (MemoryStream p12Stream = new MemoryStream())
            {
                Pkcs12Store selfSignedExport = new Pkcs12Store();
                selfSignedExport.SetKeyEntry(subject, new AsymmetricKeyEntry(rsaKeyPair.Private), new X509CertificateEntry[] { new X509CertificateEntry(bcIssuedCert) });
                selfSignedExport.Save(p12Stream, password.ToCharArray(), new SecureRandom());
                byte[] baSelfSignedCert = p12Stream.ToArray();
                return Task.FromResult(baSelfSignedCert);
            }
        }

有没有其他方法可以实现相同的目的。这对我有很大帮助。

C# 气城堡 X509Certificate2

评论

0赞 President James K. Polk 11/8/2023
只需将证书和私钥放在单独的文件中即可。

答: 暂无答案