gpt4 book ai didi

c# - 如何使用 Moq 模拟 X509Certificate2?

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:30 25 4
gpt4 key购买 nike

我需要让我的 X509Certificate2.Subject 在单元测试中返回乱码以覆盖代码。我试过使用 Moq,但它失败了,因为 Subject 不是虚拟方法。有没有办法做到这一点,还是我必须在这里重新发明轮子?

          Mock<X509Certificate2> mockCert = new Mock<X509Certificate2>(contextAccessor.Certificate.RawData);
mockCert.Setup(m=>m.Subject).Returns("kjewnr,mwnzlxkcuvlkrj,wmelq");
mockCert.CallBase = true;

contextAccessor.Certificate = mockCert.Object;
authenticatorAccessor.LogAuthentication(context);

最小起订量可以做到吗?如果没有,是否有其他图书馆适合我?谢谢。

最佳答案

旧帖子,但自从我通过 Google 遇到这个问题后,我想我会提到对我有用的东西。

private X509Certificate2 CreateSelfSignedCertificate()
{
var ecdsa = ECDsa.Create();
var req = new CertificateRequest("foobar", ecdsa, HashAlgorithmName.SHA256);
X509Certificate2 cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(5));

return cert;
}

其中 foobar 是您要模拟的主题。

关于c# - 如何使用 Moq 模拟 X509Certificate2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com