Laden...

Speicherort für Zertifikate

Letzter Beitrag vor einem Jahr 2 Posts 712 Views
Speicherort für Zertifikate

Servus zusammen,

wie ich ja mittlerweile schon gelernt habe, werden Credentials aus Sicherheitsgründen in den Umgebungsvariablen hinterlegt und im Code ausgelesen.

Wie verhält es sich aber mit Zertifikaten, wie ist da der "way to go"?

Im Moment installiere ich die Zertifikate händisch im Certificate Store, da ich keine CI/CD Pipeline nutze. Das Auslesen der Zertifikate mache ich dann mittels

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 Certi = store.Certificates.First(x => x.FriendlyName == "meinZertifikat");

Danke schonmal!

Kriz

wie ich ja mittlerweile schon gelernt habe, werden Credentials aus Sicherheitsgründen in den Umgebungsvariablen hinterlegt und im Code ausgelesen.

So kann das falsch verstanden werden und entspricht nicht den Aussagen in Richtiger Umgang mit Configuration.
Credentials, wie jede andere Umgebungskonfiguration, gehören nicht in den Code oder andere Dateien. Umgebungsvariablen sind ein Weg, aber nicht der einzige.
Auch ein Cert kann in der Umgebungsvariable liegen oder in dafür vorgesehene Services (1Password, HSM, Azure Vault...) oder in Betriebssystemfunktionalitäten wie DPAPI unter Windows.

Jeder Store ist aber nur so sicher, wie der Zugriff drauf. Und ein spezieller Service ist besser als Umgebungsvariablen.
Es kommt einfach auf die Umgebung und Anforderungen an.

Daher ja: der Windows Cert Store kann auch der richtige Weg sein: Hauptsache das Ding ist nicht Teil Deines Codes oder Deployments.