Обновление самоподписанного сертификата microsoft exchange 2007 | покой нам только снится.
Сертификаты используются для шифрования трафика между двумя конечными точками (как клиентами, так и серверами) или для подтверждения конечными точками своей подлинности друг другу.
По умолчанию при установке Microsoft Exchange 2007 генерирует самоподписанный сертификат. Это все конечно хорошо, но дело в том, что срок действия данного сертификата составляет всего один год. Поэтому ежегодно приходится обновлять этот самоподписанный сертификат (точнее не обновлять, а создавать новый, а старый удалять). Данные действия производятся с помощью командлетов PoweShell.
Запрашиваем список сертификатов:
[PS] C:>Get-ExchangeCertificate Thumbprint Services Subject ---------- -------- ------- 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 IP.WS CN=mailsrv 8506DE31EC17E05C5DBEB6044A14BC8C0DBA6CFD ....S CN=example.ru, DC=ru, DC=example
Нас интересует первый сертификат, предназначенный для mailsrv. Запросим подробную информацию о данном сертификате:
[PS] C:>Get-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 | fl
AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, Syst
em.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains : {mailsrv, mailsrv.domain.local}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=mailsrv
NotAfter : 30.08.2021 11:34:56
NotBefore : 30.08.2021 11:34:56
PublicKeySize : 2048
RootCAType : None
SerialNumber : D2AB46C33AB5BEAD4009765561E9DACA
Services : IMAP, POP, IIS, SMTP
Status : Valid
Subject : CN=mailsrv
Thumbprint : 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4Мы видим, что данный сертификат используется для служб IMAP, POP, IIS, SMTP и срок его действия истекает 30-го августа 2021г. Так как у нас сегодня 29 августа 2021г., то нам пора обновить сертификат. Создаем копию данного сертификата, но с новым сроком действия:
[PS] C:>Get-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 | New-ExchangeCertificate Confirm Перезаписать существующий сертификат SMTP по умолчанию "522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4" (срок действия - 30.08.2021 11:34:56) сертификатом "7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991" (срок действия - 28.08.2021 14:33:40)? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y Thumbprint Services Subject ---------- -------- ------- 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 ..... CN=mailsrv
Рассмотрим действия данной команды. Командлет Get-ExchangeCertificate выбирает сертификат с указанным нами отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4, а командлет New-ExchangeCertificate создает на его основе новый сертификат сроком действия на год.
Посмотрим на свойства вновь созданного сертификата:
[PS] C:>Get-ExchangeCertificate -thumbprint 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 | fl
AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, Syst
em.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule}
CertificateDomains : {mailsrv, mailsrv.domain.local}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=mailsrv
NotAfter : 30.08.2021 14:33:40
NotBefore : 30.08.2021 14:33:40
PublicKeySize : 2048
RootCAType : None
SerialNumber : 88393A70F9C128BC4F65296FAE2AD34E
Services : IMAP, POP, SMTP
Status : Valid
Subject : CN=mailsrv
Thumbprint : 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991Видно, что новый сертификат не включен для службы IIS. Включаем его следующим командлетом:
[PS] C:>Enable-ExchangeCertificate -thumbprint 7A38F0186A7F7762FEDE6F5AA4E43FF5354E5991 -services IIS
Еще раз проверяем наш новый сертификат и если все нормально, то удаляем старый с отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4.
[PS] C:Documents and Settingsvalera>Remove-ExchangeCertificate -thumbprint 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4 Confirm Are you sure you want to perform this action? Удалить сертификат с отпечатком 522F1B13E73CBDC5B2CE5D7B4A5F3D16B9D9C5A4? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Все готово! Теперь год можно не вспоминать о сертификате Microsoft Exchange 2007.
§
Ситуация: в журнале событий постоянно появляется событие с кодом ошибки 4107 и источником события Microsoft-Windows-CAPI2. Данная ошибка возникает из-за закэшированного просроченного сертификата Microsoft Certificate Trust List Publisher.
Для решения данной проблемы необходимо выполнить следующие шаги:
1. Необходимо выполнить команду certutil -urlcache * delete
Примечание: данную команду нужно выполнить для всех пользователей рабочей станции или сервера.
2. Если просроченный сертификат закэширован в одном из локальных системных профилях, то необходимо удалить содержимое следующих папок.
LocalService: %windir%ServiceProfilesLocalServiceAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%ServiceProfilesLocalServiceAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData
NetworkService: %windir%ServiceProfilesNetworkServiceAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%ServiceProfilesNetworkServiceAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData
LocalSystem: %windir%System32configsystemprofileAppDataLocalLowMicrosoftCryptnetUrlCacheContent%windir%System32configsystemprofileAppDataLocalLowMicrosoftCryptnetUrlCacheMetaData
Создание csr
Для того, чтобы выпустить коммерческий сертификат, в первую очередь необходимо создать CSR (Certificate Signing Request) — ключ, содержащий запрос на выдачу или подпись SSL сертификата. В Zimbra создание CSR осуществляется из консоли администратора. Для этого перейдите в раздел Настройки – Сертификаты и выберите домен, для которого вы собираетесь установить сертификат. Кликните по нему правой кнопкой мыши и нажмите на “Установить сертификат”.

В открывшемся окне “Мастер установки сертификата” выберите домен, для которого будете выпускать CSR, и заполните появившуюся анкету:
Обратите внимание, при заполнении заявки на получение коммерческого сертификата вся информация должна вводиться на английском языке. Кроме того нельзя использовать символы < > ~ ! @ # $ % ^ * / ( ) ?.,&
После того как все данные корректно введены, в Мастере установки сертификатов появится окно, в котором можно будет загрузить CSR для получения коммерческого сертификата. Для этого нажмите на кнопку “Загрузить CSR” и сохраните полученный файл commercial.csr. Нажмите “Готово”, чтобы закрыть Мастер установки сертификатов.
Установка коммерческого сертификата
После использования CSR-файла для выпуска SSL-сертификата у выбранного вами удостоверяющего центра, вы получите архив, в котором будут содержаться три файла:
Для их установки необходимо воспользоваться тем же мастером установки сертификатов, который использовался для получения CSR, но после выбора домена необходимо отметить “Установить коммерчески подписываемый сертификат” и нажать на кнопку “Далее”.
Сертификат: соответствует сертификату вашего домена your_domain_name.crt
Корневой центр сертификации: соответствует сертификату корневого удостоверяющего центра TrustedRoot.crt
Промежуточный центр сертификации: соответствует сертификату удостоверяющего центра DigiCertCA.crt.
В том случае, если у вас несколько промежуточных центров сертификации, можно добавить один или несколько из них, нажав на “Добавить промежуточный центр сертификации”.

Нажмите “Далее” и затем кнопку “Установить”. Убедиться в том, что сертификат корректно установился, можно просмотрев используемый сертификат домена дважды кликнув мышкой на нем в разделе Настройки – Сертификаты.
Установить сертификат можно и в командной строке. Для этого:
1. Перейдите в папку с распакованными файлами из архива, полученного от Центра сертификации и объедините сертификаты от Центров сертификации в единый файл
cat TrustedRoot.crt DigiCertCA.crt > /tmp/commercial_ca.crt
2. Скопируйте сертификат домена в ту же папку
cp my_domain_com.crt /tmp/commercial.crt
3. Проверьте на целостность сертификат сервера, файл с данными о Центре сертификации, а также приватный ключ
/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /tmp/commercial.crt /tmp/commercial_ca.crt
4. Установите полученные и проверенные сертификаты:
/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/commercial_ca.crt
5. Перезагрузите сервер Zimbra, чтобы изменения вступили в силу
zmcontrol restart
Для установки сертификата от Let’s Encrypt убедитесь, что он был получен с параметром –preferred-chain “ISRG Root X1”. В том случае, если вы уже получили сертификат без этой опции, используйте параметры –force-renewal –preferred-chain “ISRG Root X1” для его принудительного перевыпуска.
После того как сертификат будет корректно получен, можно установить его в Zimbra OSE от имени Root, введя команды вида:
