【发布时间】:2011-10-13 18:07:48
【问题描述】:
我正在对 .NET 应用程序进行单元测试;一些单元测试涉及以编程方式生成 X509Certificate2 对象。
我不关心实际的签名/私钥/验证内容,我只想拥有一个在检查其字段时不会引发异常的对象。我尝试使用无参数构造函数,但随后一大堆字段在访问时抛出异常。在调试器中可以看到:
SubjectName = '(new System.Collections.Generic.Mscorlib_CollectionDebugView(result.Certificates)).Items[0].SubjectName' 引发了“System.Security.Cryptography.CryptographicException”类型的异常
我也尝试传递一个包含一些随机数的字节数组,但它甚至没有构造(数组是否需要特定大小?)
那么,问题:以编程方式生成不会在字段/属性访问时引发异常的 X509Certificate2 对象的最简单(最少的代码行)方法是什么?
【问题讨论】:
-
什么是痣?您能否提供最终解决方案作为答案?我现在正在尝试做同样的事情。
-
我认为他的意思是一个用于创建测试存根的框架和 Microsoft 研究中的弯路。你可以看这里:research.microsoft.com/en-us/projects/moles.
标签: c# x509certificate x509certificate2