Aktualizacja certyfikatów

Exchange oprócz certyfikatu SSL który musimy zakupić w firmie certyfikującej posiada także certyfikaty wystawione przez Microsoft. Certyfikaty te są ważne przez okres 5 lat.
Certyfikaty możemy podglądnąć w ECP (menu serwery -> certyfikaty)

Certyfikaty Microsoftu możemy odnowić poprzez zaznaczenie certyfikatu i następnie wybranie z prawej strony przycisku odnów. Certyfikat odnawiamy dla każdego posiadanego serwera.

Ustawiamy nowy certyfikat do uwierzytelniania serwera

Set-AuthConfig -NewCertificateThumbprint -xxxxxxxxxxxx NewCertificateEffectiveDate (Get-Date)
Set-AuthConfig -PublishCertificate
Set-AuthConfig -ClearPreviousCertificate

W pierwszym poleceniu po opcji NewCertificateThumbprint podejmy ciąg znaków przypisany do obecnego certyfikatu.

W kolejnym kroku restartujemy serwer IIS wydając polecenie

IISReset 


Teoretycznie wszystko powinno przejść bezproblemowo ale spotkałem się z sytuacją że po takiej czynności Outlook przestał się poprawnie łączyć z serwerem Exchange (błędy certyfikatu). Najprawdopodobniej wynika to z faktu, że Exchange nadal próbuje korzystać ze starego certyfikatu. Certyfikaty możemy także podglądnąć z poziomu Powershell-a wydając polecenie:

New-ExchangeCertificate |fl

W odpowiedzi otrzymamy wynik podobny do poniższego:

AccessRules :
CertificateDomains : {}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=Microsoft Exchange Server Auth Certificate
NotAfter : 2025-08-04 12:50:37
NotBefore : 2020-08-04 12:50:37
PublicKeySize : 2048
RootCAType : None
SerialNumber : 2BxxxxxxxxxxxxxxxxxxxxxxxxxxxxB3
Services : IIS, SMTP
Status : Valid
Subject : CN=Microsoft Exchange Server Auth Certificate
Thumbprint : EExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAE

AccessRules :
CertificateDomains : {WMSvc-MBX2}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=WMSvc-MBX2
NotAfter : 2025-08-04 12:49:58
NotBefore : 2020-08-04 12:49:58
PublicKeySize : 2048
RootCAType : None
SerialNumber : 2Fxxxxxxxxxxxxxxxxxxxxxxxxxxxx8C
Services : None
Status : Valid
Subject : CN=WMSvc-MBX2
Thumbprint : 8ExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEC3

AccessRules :
CertificateDomains : {MBX2, MBX2.xxxx.local}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=MBX2
NotAfter : 2025-08-04 12:49:34
NotBefore : 2020-08-04 12:49:34
PublicKeySize : 2048
RootCAType : None
SerialNumber : 14xxxxxxxxxxxxxxxxxxxxxxxxxxxx7D
Services : SMTP
Status : Valid
Subject : CN=MBX2
Thumbprint : 31xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx25

AccessRules :
CertificateDomains : {.domena.pl, domena.pl}
HasPrivateKey : True
IsSelfSigned : False
Issuer : CN=Certum Organization Validation CA SHA2, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL
NotAfter : 2021-02-14 21:40:07
NotBefore : 2019-02-15 21:40:07
PublicKeySize : 2048
RootCAType : ThirdParty
SerialNumber : 21xxxxxxxxxxxxxxxxxxxxxxxxxxxx28
Services : SMTP
Status : Valid
Subject : [email protected], CN=.domena.pl, S=wojewodztwo, L=miasto, OU=firma, O=firma, C=PL
Thumbprint : E6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFA

Po wydaniu powyższego polecenia może się okazać że mamy zainstalowanych kilka certyfikatów „Microsoft Exchange Server Auth Certificate„. Certyfikaty ze statusem Invalid możemy usunąć z systemu wydając polecenie

Remove-ExchangeCertificate -Thumbprint xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

W powyższym przykładzie po opcji Thumbprint podajemy ciąg znaków przypisany do danego certyfikatu.
W przypadku gdy nie możemy usunąć starego certyfikatu gdyż otrzymujemy komunikat o aktualnym wykorzystywaniu certyfikatu

The internal transport certificate cannot be removed because that would cause the Microsoft Exchange Transport service to stop. To replace the internal transport certificate, create a new certificate. The new certificate will automatically become the internal transport certificate. You can then remove the existing certificate.

należy przypisać usługi (protokoły) do nowego certyfikatu

Enable-ExchangeCertificate -Thumbprint xxxxxxxxxxxxxxxxxxxxxxxxx -Services IMAP,POP,SMTP

W powyższym przykładzie po opcji Thumbprint podajemy ciąg znaków przypisany do nowego certyfikatu.
po wykonaniu powyższego polecenia stary certyfikat powinien zostać bezproblemowo usunięty.

[PS] C:\> Remove-ExchangeCertificate -Thumbprint xxxxxxxxxxxxxxxxxx

Confirm
Are you sure you want to perform this action?
Remove certificate with thumbprint xxxxxxxxxxxxxxxxxx from the computer's certificate store?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y
[PS] C:\>