.net - Hvor snap-in importcertifikater for MMC-certifikater for 'Service-konto'?

Indlæg af Hanne Mølgaard Plasc

Problem



Snapin-modulet Windows MMC-certifikater gør det muligt for en administrator at arbejde med 'Service-konto', men hvordan bliver disse certifikater adgang til af en tjeneste?


Hvis jeg importerer til Personlig som administrator ved hjælp af 'Service-konto', og min tjeneste kører som standardbruger, ser i StoreLocation.CurrentUser (eller StoreLocation.LocalMachine) ved hjælp af System.Security.Cryptography.X509Certificates.X509Store, finder den ikke certifikatet .


Hvis jeg i stedet logger på som servicekontoen og importerer certifikatet til Personlig fra denne standardbrugerkonto, bliver certifikatet fundet af tjenesten.


Hvor lægger certifikatet til 'Service-konto', og hvordan finder en tjeneste det ved hjælp af .NET-klasserne?

Bedste reference


Certifikaterne er gemt i registreringsdatabasen under HKLM. For eksempel, hvis servicenavnet er MYSERVICE, er de personlige butikscertifikater her:


HKEY\_LOCAL\_MACHINE \ SOFTWARE \ Microsoft \ kryptering \ Services \ myService \ SystemCertificates \ My \ Certifikater]]


Denne MSDN-side har flere detaljer: System Store Locations [1]


Jeg kan ikke se, hvor den private nøgle holdes - måske i blob-data. For at få adgang til denne butik fra .NET skal jeg P/Invoke (se her.) [2]


Jeg har ikke planer om at bruge 'Service-kontoen', så jeg ser ikke længere ud.

Andre referencer 1


UH. Jeg bruger aldrig servicekonto. Jeg bruger altid Computer-konto, når du installerer SSL'er, der bruges af IIS. Er du sikker på, at du skal bruge tjenesten konto? Hvis det er tilfældet, skal du sandsynligvis spørge profferne på serverfejl (http://serverfault.com/).