I'm having some problems with my app. I'm using the 'org.mentalis.security' assembly to create a certificate object from a 'pfx' file, this is the line of code where the exception occurs:
Certificate cert = Certificate.CreateFromPfxFile(publicKey, certificatePassword);
This has always worked and still does in production, but for some reason it throws an exception when run in Windows 7 (tried it on 2 machines).
CertificateException :
Unable to import the PFX file! [error code = -2146893792]
I can't find much on this message via Google, but when checking Event Viewer I get an 'Audit Failure' every time this exception occurs:
Event ID = 5061
Source = Microsoft Windows Security
Task Category = system Integrity
Keywords = Audit Failure
Cryptographic operation.
Subject:
Security ID: NT AUTHORITY\IUSR
Account Name: IUSR
Account Domain: NT AUTHORITY
Logon ID: 0x3e3
Cryptographic Parameters:
Provider Name: Microsoft Software Key Storage Provider
**Algorithm Name: Not Available.**
Key Name: VriendelijkeNaam
Key Type: User key.
<BR>
Cryptographic Operation:
Operation: Open Key.
Return Code: 0x2
I'm not sure why this isn't working on Win 7, I've never had problems when I was running on Vista with this. I am running VS2008 as administrator but I guess that maybe the ASP.NET user doesn't have sufficient rights or something.
It's pretty strange that the 'Algorithm name' is 'Not Available'.
Can anyone help me with this?
In IIS 7 you can do this in IIS management console.
Sorry Corrected
Hi
I solved this by going to c:\windows\system32\inetsrv or syswow64\inetsrv
and running the following command
appcmd set apppool "[you app pool name]" -processModel.loadUserProfile:true
This solved it
Richard Allen
I solved this by going to c:\windows\system32\inetsrv or syswow64\inetsrv
and running the following command
appcmd set apppool "" -processModel.loadUserProfile:true
This solved it
Richard Allen