[英]X509Certificate2 makes IIS crash
當新建一個X509Certificate2(string, string)
實例X509Certificate2(string, string)
我的IIS進程就會崩潰。 沒有.Net異常,除了我的事件日志中沒有任何內容
Faulting application name: w3wp.exe, version: 8.0.9200.16384, time stamp: 0x50108835
Faulting module name: ntdll.dll, version: 6.2.9200.16420, time stamp: 0x505ab405
Exception code: 0xc0000374
Fault offset: 0x00000000000ea485
Faulting process id: 0x102c
Faulting application start time: 0x01ce10301e250c4d
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 5e55321c-7c23-11e2-93f9-00155d8a0f17
Faulting package full name:
我很震驚,不知道從哪里開始尋找。 將調試器附加到進程時,我可以打破到這一行,但是當踩到它時,整個事情就崩潰了。
_certificate = new X509Certificate2(pfxFile, pfxPassword);
pfxFile是一個有效的路徑,如果我改變它,我立即得到一個正確的.Net PathNotFound異常。
服務器是Windows 2012,運行IIS8和.Net 4.5。
更新
本文介紹了解決方案是確保應用程序池標識啟用了LoadUserProfile的相同問題。
我有一個類似的問題,也在Windows Server 2012上,在使用時崩潰了IIS
new X509Certificate2(fileName, keyPassword, X509KeyStorageFlags.Exportable)
這是通過將構造函數更改為
new X509Certificate2(fileName, keyPassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.