2010-11-30 35 views
1

我的問題是這樣的:如何阻止我的.NET 1.1應用程序試圖在無法訪問Internet的環境中驗證數字簽名?如何禁用驗證.NET 1.1程序集的Authenticode簽名?

我的問題的背景: 我有一個產品安裝在基於.NET 1.1 SP1的客戶上。客戶網站無法訪問互聯網。這會導致應用程序啓動延遲,在某些情況下會導致我的Windows服務因超時而無法啓動。

啓動時的延遲似乎是由應用程序試圖驗證數字簽名引起的。這在其他文章中已有詳細記錄,正常答案是在app.config文件中包含generatePublisherEvidence = false,如此處所述http://support.microsoft.com/kb/936707

似乎使用generatePublisherEvidence = false對.NET 1.1應用程序沒有任何影響,這似乎與MSDN一致(http://msdn.microsoft.com/en-us/library/0kk0kk35(VS.71).aspx沒有提及該元素)以及我上面提到的修補程序,它是爲了.NET 2.0應用程序。

我向客戶發佈的下一個版本將構建在.NET 3.5 SP1上,並且在該版本的.NET框架中使用generatePublisherEvidence時沒有問題,但是我目前無法簡單地將客戶更改爲該版本 - 我被卡住了與.NET 1.1 SP1 - 所以我正在尋找一個答案,而不是簡單地使用.NET框架的更高版本。

+0

不幸的是,我們無法找到我們產品的解決方案,並最終從.NET程序集中刪除了authenticode簽名。我們只使用強烈的聲音。這對我們來說更簡單,因爲我們開發組件庫,而不是最終用戶應用程序。 – 2010-11-30 15:40:48

+0

我剛剛發現這是通過更改Internet Explorer中的設置來禁用CRL檢查。我將嘗試下一步 - 將返回結果: 1.打開Internet Explorer 2.轉到工具 - > Internet選項... 3.轉到高級選項卡 4.找到安全部分並取消選中檢查發佈者的證書吊銷選項。 – 2010-11-30 16:25:06

回答

1

我剛剛爲供應商提供的應用程序今天解決了這個問題。我假設他們的應用程序是用.net編寫的,但我沒有確認。由於子網沒有Internet訪問權限,因此我從具有靜態地址的本地計算機上的TCP/IP設置中刪除了DNS服務器條目。對於DHCP提供的地址,我從DHCP範圍中刪除了DNS服務器選項(006)。

相關問題