Zertifikate hinzufügen (PowerShell)

Hallo Freunde der Sonne,

als ersten Eintrag wollte ich mal mit etwas Kleinem anfangen:

Wie erstelle ich Exchange-Zertifikats-Anforderungen in Exchange 2007? (GUI erst ab 2010)

Wie beantworte ich diese? (Import von Zertifikaten/-ketten)

Wie weise ich diesen Dienste zu? (Enable von SMTP, IIS, POP, IMAP, UM)

Für die Lösung des Problems verwenden wir selbstverständlich die Exchange PowerShell,
GUI wär ja damals auch zu einfach gewesen.

Neue Zertifikate via PowerShell

Als aller Erstes, erstellt man eine neue Zertifikats-Anforderung seitens Exchange.
Kurzum PowerShell:

new-exchangecertificate
-generaterequest
-path c:certreq.txt
-subjectname „c=DE, o=Kunde, cn=mail“
-DomainName mail.example.local, mail, autodiscover, autodiscover.example.local, mail.example-online.de, autodiscover.example-online.de
-privatekeyexportable $true

Dieses Query generiert eine Anforderung, speichert diese unter C:certreq.txt und verwendet:
c (country) = Deutschland, o (organization) = Kunde, cn (Organisationseinheit/Name) = Name.
Außerdem werden die alternativen Namen für dieses Zertifikat angegeben:
autodiscover (Outlook sucht den neuen SuperExchange)
mail (WINS)
mail.example.local (DNS)
mail.example-online.de (externer DNS)
etc.

Ach ja und der private Schlüssel sollte exportierbar sein. (Zertifikate bitte nicht so rumliegen lassen)

Das ging relativ leicht – nun stellt man sich wieder die üblichen Fragen:

Wo soll ich diese Anforderung eigentlich bestätigen?

Online-Zertifizierer – damit auch alle unseren Server glaubhaft finden?!
Lokale Zertifizierungsstelle – damit lästige Sicherheitsfragen intern verschwinden.
selbst signiert – für alle die keine CA haben oder nur kurz was testen wollen…

Tipp:
Server-Manager/Rollen/Hinzufügen/Active Directory-Zertifikatdienste
(ja das ’s‘ fehlt wirklich im Manager, also besser nur eins ausstellen)
Einspielen unter MMC oder http://server/certsrv

Importieren von Zertifikaten via PowerShell

Wie bekomme ich die als Zertifikat/-kette beantwortete Anfrage nun eigentlich in dieses Exchange?

Import-ExchangeCertificate 
-Path „C:UsersAdministratorDownloadssbs.p7b“

Nun ja, war es das schon? Nö.
Am besten fügt man dieses Zertifikat hinzu und weist den Diensten dieses zu:

Import-ExchangeCertificate
-Path „C:UsersAdministratorDownloadssbs.p7b“ | Enable-ExchangeCertificate
-Services SMTP,ISS,POP,IMAP,UM

Der Troll beachte den Strich der die Parameter-Übergabe für den Thumbprint durchführt.
Man kann das Dienste-Zuweisen jedoch auch später noch durchführen durch:

Get-ExchangeCertificate
-Thumbprint „<Thumbprint>“| Enable-ExchangeCertificate
-Services SMTP,ISS,POP,IMAP,UM

Ggf. sollte man sich vorher per Get-ExchangeCertificate den richtigen Thumbprint ausgeben lassen und dann einfügen.

Das war es auch schon wieder – wir prägen uns mit diesem Post also das Wort „ThumbPrint“ ein.

Grüße Sid