Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| работа_с_сертификатами_exchange [2024/04/02 13:21] – jp | работа_с_сертификатами_exchange [2025/03/17 13:47] (current) – jp | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| **Установка сертификатов для IMAP** | **Установка сертификатов для IMAP** | ||
| - | :!: //В случае, | + | :!: //В случае, |
| Необходимо только указать хостнейм для подключения, | Необходимо только указать хостнейм для подключения, | ||
| Line 15: | Line 15: | ||
| Get-ExchangeCertificate | select Thumbprint, Services, NotAfter, Subject, CertificateDomains | where {$_.Services -match " | Get-ExchangeCertificate | select Thumbprint, Services, NotAfter, Subject, CertificateDomains | where {$_.Services -match " | ||
| </ | </ | ||
| + | |||
| + | Если нам всё-таки необходимо назначить сертификат IMAP напрямую, | ||
| + | |||
| + | | ||
| + | |||
| + | ---- | ||
| + | === Назначение сертификата службам SMTP === | ||
| + | |||
| + | | ||
| ---- | ---- | ||
| Line 60: | Line 69: | ||
| Если мы попробуем удалить старый сертификат после назначения нового через веб - мы получим сообщение, | Если мы попробуем удалить старый сертификат после назначения нового через веб - мы получим сообщение, | ||
| + | ;#; | ||
| {{:: | {{:: | ||
| + | ;#; | ||
| Это намекает нам на то, что сертификат необходимо поменять на коннекторе отправки тоже. Здесь есть нюанс, связанный с тем, что при простом выполнении команды // | Это намекает нам на то, что сертификат необходимо поменять на коннекторе отправки тоже. Здесь есть нюанс, связанный с тем, что при простом выполнении команды // | ||
| Line 106: | Line 117: | ||
| Запускаем транспортную службу на всех серверах, | Запускаем транспортную службу на всех серверах, | ||
| - | | + | |
| - | | + | |
| :!: //Если после этого мы хотим удалить старый сертификат, | :!: //Если после этого мы хотим удалить старый сертификат, | ||
| + | |||
| + | **Назначение нового сертификата для SMTP edge-транспорта** | ||
| + | |||
| + | Назначения сертификата send-коннектору недостаточно. После этого обязательно назначить сертификат службам SMTP на Edge Transport серверах. Если этого не сделать, | ||
| + | |||
| + | <WRAP prewrap> | ||
| + | < | ||
| + | C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Edge\ProtocolLog\SmtpSend | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Обнаружим ошибку: | ||
| + | |||
| + | TLS negotiation failed with error UnknownCredentials | ||
| + | |||
| + | Если мы запустим на эджах команду // | ||
| + | |||
| + | | ||
| + | |||
| + | :!: //Если мы используем один с серверами mailbox - wildcard сертификат - мы не хотим назначать его сертификатом по умолчанию, | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | Два сертификата на SMTP: | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | === Скрипт для определения используемого сертификата на SMTP-коннекторах на нескольких серверах === | ||
| + | |||
| + | <WRAP prewrap> | ||
| + | < | ||
| + | #Get all Exchange Servers in the environment | ||
| + | |||
| + | $ExchangeServers = (Get-ExchangeServer |Where-Object {$_.ServerRole -like " | ||
| + | |||
| + | $Results = @() | ||
| + | |||
| + | #Process Information | ||
| + | |||
| + | ForEach($Server in $ExchangeServers){ | ||
| + | |||
| + | $TransportCert = (Get-ADObject -Identity $Server.DistinguishedName -Properties *).msExchServerInternalTLSCert | ||
| + | |||
| + | $Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 | ||
| + | |||
| + | $CertBlob = [System.Convert]:: | ||
| + | |||
| + | $Cert.Import([Convert]:: | ||
| + | |||
| + | $server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertSubject -Value $Cert.Subject | ||
| + | |||
| + | $server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertFriendlyName -Value $Cert.FriendlyName | ||
| + | |||
| + | $server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertThumbprint -Value $Cert.Thumbprint | ||
| + | |||
| + | $server | Add-Member -MemberType NoteProperty -Name DefaultTLSCertExpireDate -Value $Cert.NotAfter | ||
| + | |||
| + | |||
| + | |||
| + | $Results += $Server | ||
| + | |||
| + | } | ||
| + | |||
| + | #Show result | ||
| + | $Results | Out-GridView | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Автор: https:// | ||
| {{tag> | {{tag> | ||