PrivateKey-Vertrauensberechtigungen für vertrauenswürdige Stammzertifikate des lokalen Computers

Ich habe ein Zertifikat, in das importiert werden mussZertifikate / Vertrauenswürdige Stammzertifizierungsstellen und hat einen entsprechenden privaten Schlüssel.

Um tatsächlich über Code auf den Schlüssel zuzugreifen, müssen Sie Berechtigungen für private Schlüssel festlegen, um den vollständigen Zugriff auf einen bestimmten IIS-Anwendungspool zu gewähren. Ich verstehe das vollkommen, aber das Problem ist, dass dies nur für persönliche Zertifikate und nicht für vertrauenswürdige Stammzertifikate festgelegt werden kann.

Ich habe versucht, dasselbe Zertifikat zum persönlichen Speicher hinzuzufügen, und der folgende Code funktioniert nicht:

<code>X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);

foreach (X509Certificate2 cert in store.Certificates)
{
    if (cert.HasPrivateKey)
    {
        // access private key here
    }
}

store.Close();
</code>

Das Festlegen von Berechtigungen für Zertifikate im persönlichen Speicher funktioniert, wenn ich mich ändereStoreName.Root zuStoreName.My. Ich kann dort darauf zugreifen. Aber ich kann nicht in root darauf zugreifen. Es heißt nur:

Keyset existiert nicht

Irgendwelche Vorschläge?

Zusätzliche Information

Wenn ich die Identität meines Anwendungspools auf setzeLokales System (der hat total berechtigungen über meinen rechner) das kann icherfolgreich Zugriff auf privaten Schlüssel. Die Hauptfrage lautet daher, wie ich Berechtigungen für meine Anwendungspoolidentität festlegen kann, um Zugriff auf private Schlüssel für Zertifikate im vertrauenswürdigen Stammspeicher zu erhalten.

Warum vertrauenswürdiger Stammspeicher und nicht persönlich?
Ich habe eine vorgefertigte Assembly, die auf dieses Zertifikat in diesem bestimmten Speicher zugreift. Daher reicht es für mich nicht aus, das Zertifikat einfach in den persönlichen Speicher zu stellen. Aus diesem Grund ist das Festlegen von Vertrauensberechtigungen für private Schlüssel vertrauenswürdiger Stammzertifikate unerlässlich.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage