Zertifikate sind nicht verfügbar, solange auf dem Webserver keine aktiven Anmeldungen vorhanden sind

365
alexander.teno

Meine mvc-Anwendung verwendet ein Zertifikat (im lokalen Speicher der Stammzertifizierungsstelle des lokalen Computers gespeichert), kann jedoch nicht auf das Zertifikat zugreifen, solange auf dem Webserver keine aktiven Benutzer [auf dem Computer] angemeldet sind.

Dies verursacht einen Dienstfehler, wenn ein Benutzer bei der Webanwendung angemeldet ist.

<clientCertificate storeLocation="LocalMachine" storeName="Root" 509FindType="FindBySubjectName" findValue="certificate name" /> 

Ich habe mir Sorgen gemacht, dass es Berechtigungen oder etwas sein könnte, aber in der Entwicklung blieben die Boxen tendenziell online und wir hatten nie ein Problem.

Jede Hilfe wird geschätzt, vielen Dank!

1

1 Antwort auf die Frage

0
alexander.teno

Ich habe die Lösung für mein Problem gefunden. Ich bin mir jedoch nicht sicher, warum es funktioniert. Durch Experimentieren konnte ich feststellen, dass IIS nicht versuchen würde, Zertifikate von einem beliebigen Speicherort mit Ausnahme von "LocalMachine" und einem beliebigen Geschäftsnamen mit Ausnahme von "Personal" zu lesen.

Ich habe eine Weile gebraucht, um zu dieser Schlussfolgerung zu kommen, und ich habe die meisten Kombinationen von storeLocation und verschiedenen storeNames ausprobiert .

Wenn jemand wüsste, warum der Stammzertifikatspeicher für IIS nicht zugänglich ist, wäre das interessant zu lernen.

Vielen Dank!