代码之家  ›  专栏  ›  技术社区  ›  Pierre Arnaud

.NET应用程序启动非常慢-cryptnet.dll试图访问百慕大的IP

c#
  •  4
  • Pierre Arnaud  · 技术社区  · 15 年前

    我已经构建了一个.NET控制台应用程序,它已经运行了好几年了。从11月23日开始,在生产环境中运行时需要花费大量的时间(15秒)(从VisualStudio运行时工作正常)。

    我试图追溯Process Monitor(ProcMon)的运行情况,发现了以下模式:

    • 应用程序正常启动
    • 应用程序加载 cryptnet.dll
    • 应用程序进入睡眠状态,我看到一系列 TCP Reconnect 机器试图通过HTTP(似乎在百慕大)到达206.53.176.17的消息。
    • 应用程序查询上的信息 cryptnet.dll

    15秒后,一切重新开始工作(我看到一个访问 crypt32.dll

    我完全不知所措:问题不仅与我的机器有关,而且所有同事如何使用我的工具都遇到了同样的问题。这似乎与加载应用程序时完成的Authenticode签名验证有关。

    事实上,当试图查看 数字签名 通过资源管理器,单击 细节 查看“数字签名详细信息”面板需要15秒(无任何错误)。证书的颁发者定义为:

    CN = QV Schweiz ICA
    OU = Issuing Certificate Authority
    O = QuoVadis Trustlink Schweiz AG
    C = CH
    

    它仍然有效(消息上写着“这个数字签名没问题”)。

    http://www.quovadisglobal.bm/ 正好在百慕大。。。

    3 回复  |  直到 15 年前
        1
  •  7
  •   dso    15 年前

    检查程序集(Authenticode)上的数字签名可能是导致延迟的原因。

    摘自 this MSDN article :

    Authenticode验证将添加到 启动时间。认证码签名 组件必须通过验证 证书颁发机构(CA)。这 验证可能很耗时, 网络下载了好几次 当前证书吊销列表。 它还确保有一个 转化为几秒钟的延迟 正在加载程序集时。

        2
  •  1
  •   Traveling Tech Guy    15 年前

    如果你声称这是一种新行为,我会检查机器上是否有间谍软件/恶意软件/rootkit。 作为即时解决方案,请在防火墙和主机文件中阻止此地址。

        3
  •  0
  •   Neil Barnwell    15 年前

    这听起来像病毒。我用谷歌搜索 cryptnet.dll ,并发现它是一个系统文件。如果你的应用程序没有直接引用它,那么很可能是通过多个抽象层(即通过.NET framework)访问的,并且已经损坏或带有病毒。如果它正在访问百慕大的服务器,几乎肯定是病毒。

    cryptnet.dll 如一位回答者所述,使用新文件归档: http://www.techimo.com/forum/technical-support/93583-what-hell-cryptnet-dll.html

    需要替换cryptnet.dll文件。 文件夹

    仅供参考,cryptnet.dll用于SSL 这是一个协议使用时