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:\>