调用SignedCMS.Decode方法需要15秒或更长时间的原因是什么?我有以下代码:
SignedCms signedCms = new SignedCms();
signedCms.Decode(postedData);
postedData是一个签名CMS消息的字节数组。有时函数调用会立即返回,但大多数情况下需要10-15秒才能返回,导致消息发送者超时。
这似乎无论是否将调试器附加到进程中都会发生。
调用SignedCMS.Decode方法需要15秒或更长时间的原因是什么?我有以下代码:
SignedCms signedCms = new SignedCms();
signedCms.Decode(postedData);
postedData是一个签名CMS消息的字节数组。有时函数调用会立即返回,但大多数情况下需要10-15秒才能返回,导致消息发送者超时。
这似乎无论是否将调试器附加到进程中都会发生。
System.Security.Cryptography.Oid oid = new System.Security.Cryptography.Oid("1.2.840.113549.1.7.1");
我还找到了这个链接,它涉及一个类似的问题。
有趣的是,当我断开我的无线网适配器时,Oid实例化立即发生,这让我相信它可能与网络/DNS相关(我不知道Oid实例化在做什么)。重新连接适配器后,SignedCms.Decode就像平常一样工作。另一个选择是将我的计算机从域中删除,然后重新加入。我还没有尝试过。
也许这会帮助任何遇到相同(或类似)问题的人。
System.Security
也是如此?测试很简单,只需多次运行CMS解码并查看延迟发生的时间即可。 - Maarten Bodewes