Anzeigename für Zertifikate vergeben

Anzeigename für Zertifikate vergeben

Verwendungszweck von Zertifikaten

An dieser Stelle spreche ich nicht von der KeyUsage, sondern eher davon, wofür ein Zertifikat eingesetzt wird. Wenn man z.B. einen SQL- oder einen Exchange-Server o.ä. betreibt, wo mehrere Zertifkate im Einsatz sind, dann kann die Vergabe eines Friendlynames für mehr Transparenz sorgen.

Natürlich hat man auch die Möglichkeit, je nach Zertifikatssvorlagenkonzept zu erkennen, für welche Verwendung das Zertifikat vorgesehen ist. Ich für meinen Teil vergebe in produktiven Umgebungen immer einen Anzeigenamen.

Anzeigename für Zertifikate vergeben

Hier mal ein Beispiel anhand eines IIS (Internet Information Services).

Wenn auf dem System mehrere Zertifikate vorhanden sind und diese in der Regel als Subjectname den Servernamen tragen, ist es schwierig zu erkennen, welches jetzt für den IIS bestimmt ist.

Anzeigename für Zertifikate vergeben

Über die Powershell lasse ich mir die vorhandenen Zertifikate kurz ausgeben und vergebe im Anschluss daran den oder die Friendlynames.

Zertifikate Details auslesen

Anzeigename für ein Zertifikat vergeben

Anzeigename für ein Zertifikat vergeben

Das Ganze prüfen wir noch einmal, indem wir nach einem Zertifikat mit dem Anzeigename IIS suchen.

Zertifikat nach Anzeigename suchen

Es ist doch viel übersichtlicher wenn direkt erkannt wird, welches Zertifikat eingesetzt werden kann.

IIS Binding

Anzeigename für Zertifikate setzen oder ändernt

# Zertifikat ohne Anzeigename suchen
Get-ChildItem Cert:\LocalMachine\MY\ | where{$_.FriendlyName -eq “”} | Select Subject,Thumbprint,NotAfter,NotBefore

# Anzeigename setzen einzeln
$cert = Get-ChildItem `
-Path Cert:\LocalMachine\MY\1baea76d6613adc64cae0ee24d33c64c89c247a1
$cert.FriendlyName = “IIS”

# Nach Anzeigename suchen
Get-ChildItem Cert:\LocalMachine\MY\ | where{$_.FriendlyName -eq “IIS”} | Select Subject,Thumbprint,NotAfter,NotBefore

# Anzeigename für ein Zertifikat auf 2 Servern setzen – remote
Invoke-Command -ComputerName BSPROD-CA02-PV,DC10 -ScriptBlock {
$cert = Get-ChildItem -Path Cert:\LocalMachine\root\74afa9f2e3e3463337024bde3bb6e30bea825631
$cert.FriendlyName = “ROOT-CA”
}