fragen stichworte

Vorgehensweise: Machen Sie X.509-Zertifikate für WCF zugänglich

Ich habe die Anweisungen hier

befolgt

http://msdn.microsoft.com/de-de/library/aa702621.aspx

Ich habe Windows 2003 IIS6 mit einem separaten Benutzerkonto für den Anwendungspool ausgeführt Ich erteile diesem Benutzer mit cacls.exe Zugriff auf den privaten Schlüssel. Das funktioniert gut.

Allerdings ändert sich mit der asp.net-Site oder IIS die Berechtigung, wenn etwas geändert wird. Zum Beispiel, wenn ich die Datei web.config ändere. Starten Sie IIS neu, warten Sie 5 Stunden, dann schlägt der Aufruf des SSL-Zertifikats fehl und ich kann nicht mehr von meinem Client darauf zugreifen, der versucht, den WFC-Dienst in Anspruch zu nehmen. Ich melde mich an, wenn das APP POOL-Konto die cacls.exe erneut ausführt und das Problem behoben wird.

Wie kann ich das permanent beheben, weil es momentan alle 5 Stunden stoppt?

Aktualisieren

Ich bin tatsächlich rückwärts gegangen. Jetzt kann ich es überhaupt nicht zum Laufen bringen. Dies sind die Schritte, denen ich

folge
C:\FindPrivateKey>FindPrivateKey.exe Trustedpeople currentuser
Private key directory:
C:\Documents and Settings\MYUSER\Application Data\Microsoft\Crypto\RSA\S--5-21-2205538328-2105125954-533649117-1053
Private key file name:
ab715bc6d3b1ae3bdb1a9e8e21a3b851_817f45df-79ce-4f15-9345-15b5c81281a1

Erlaube Permssionen

Cacls.exe "C:\Documents and Settings\MYUSER\Application Data\Microsoft\Crypto\RSA\S-1-5-21-2205538328-2105125954-533649117-1053\ab715bc6d3b1ae3bdb1a9e8e21a3b851_817f45df-79ce-4f15-9345-15b5c81281a1"/E/G "WWWTEST2\MYUSER":R

Berechtigungen prüfen

Cacls.exe "C:\Documents and Settings\MYUSER\Application Data\Microsoft\Crypto\RSA\S-1-5-21-2205538328-2105125954-533649117-1053\ab715bc6d3b1ae3bdb1a9e8e21a3b851_817f45df-79ce-4f15-9345-15b5c81281a1"
 Everyone:R
 WWWTEST2\MYUSER:F

Besitzer festlegen

subinacl/file "C:\Documents and Settings\MYUSER\Application Data\Microsoft\Crypto\RSA\S-1-5-21-2205538328-2105125954-533649117-1053\ab715bc6d3b1ae3bdb1a9e8e21a3b851_817f45df-79ce-4f15-9345-15b5c81281a1"/setowner=WWWTEST2\MYUSER

Fehler Ich bekomme von der asp.net-Site den Versuch, den Dienst

zu konsumieren
Exception: System.InvalidOperationException 
Message: Cannot find the X.509 certificate using the following search criteria: StoreName 'TrustedPeople', StoreLocation 'CurrentUser', FindType 'FindByThumbprint', FindValue 'b33e04f057a52cb73007aec81eee86d2f75e3c69'. 
Source: System.ServiceModel 
at System.ServiceModel.Security.SecurityUtils

Wenn ich mich als MYUSER-Benutzer beim IIS-App-Pool anmelde und "mmc" wechselt, wird das Zertifikat im Konto "Mein Benutzer" unter "TrustedPeople

" angezeigt

UPDATE

Ich konnte es zum Laufen bringen, indem ich das cert auf Local Machine/Personal installiere und winhttpcertcfg anstelle von cacls

verwendete

antworten

Um dieses Problem zu beheben, müssen Sie zunächst wissen, was zu beheben ist.

Aktivieren Sie zur Überprüfung der DACL für private Schlüssel die Objektzugriffsüberwachung, und fügen Sie einen Überwachungseintrag für Berechtigungsänderungen für den privaten Schlüssel hinzu, indem Sie Everyone anwenden. Folgen Sie dazu diesen einfachen Schritten.

  1. Enable Object Access Auditing

    1. Goto Control Panel -> Administrative Tools -> Local Security Policy ( gpedit )
    2. Expand Computer Configuration \\ Windows Settings \\ Security Settings \\ Local Policies and select Audit Policy
    3. Double-click the Audit Object Access policy
    4. Make sure the Define these policy settings and Success boxes are checked.
    5. Apply this change, and succesful Object Access attempt auditing is now enabled.

  2. Add an audit entry for the Private Key

    1. Goto C:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Crypto\\RSA\\MachineKeys\\
    2. Right-click the private key in question, select Properties
    3. On the Security tab, select Advanced
    4. Select the Auditing tab and add an entry for the Everyone group denomination.
    5. Check the Change Permissions boxes

Once the permissions seem to "reset":

  1. Check the Security log
    1. Goto Control Panel -> Administrative Tools -> Event Viewer ( eventvwr )
    2. Select the Security log
    3. Filter the log by Event ID: 567
    4. Search for "WRITE_DAC"

Die Berechtigung WRITE_DAC gibt die Berechtigung zum Ändern von DACLs an. Wenn diese Berechtigung für ein Objekt ausgeübt wird, wird die Ereignis-ID 567 protokolliert, sofern das Objekt überwacht wird. Auf diese Weise können Sie feststellen, welcher Prozess die von Ihnen festgelegten Berechtigungen geändert hat.