Default SMTP Certif...
 
Notifications
Clear all

Default SMTP Certificate überschrieben

11 Posts
2 Users
0 Reactions
3,917 Views
(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

Hello,

habe bei Enable-Certificate zu schnell Enter gedrückt und das Default SMTP Zertifikat mit unserem Wildcard Zertifikat überschrieben, weil "Ja" die Default Antwort ist.

Ist das ein Problem? Lese überall nan solle mit Nein antworten?!

Geht um Exchange 2019.

Danke und Grüße,

Mike


   
Quote
NorbertFe
(@norbertfe)
Joined: 4 years ago
Posts: 1626
 

Das kommt auf eure Umgebung an. Ansonsten einfach das vorherige Zertifikat nochmal enablen und mit ja antworten. ;)


   
ReplyQuote

(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

Ok. Werd ich machen. Ich habe auch ein Skript gefunden das die Default Zertifikate ausliest. Der Link wird aber leider als Spam erkannt.

Danke!

VG. MG


   
ReplyQuote
NorbertFe
(@norbertfe)
Joined: 4 years ago
Posts: 1626
 

Posted by: @mikeg

Ich habe auch ein Skript gefunden da

Und was tut das bzw. Wozu brauchst du das?


   
ReplyQuote

(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

@norbertfe Es zeigt an, welches Zertifikat das Default ist. Unbedingt brauchen tu ich das nicht.


   
ReplyQuote
NorbertFe
(@norbertfe)
Joined: 4 years ago
Posts: 1626
 

Posted by: @mikeg

Es zeigt an, welches Zertifikat das Default ist.

wie denn? ;) also woran macht das Script das denn fest, welches das default smtp Zertifikat ist? Das was bei der Installation erzeugt wurde, das aktuellste? Beides irgendwie keine besonders passenden Kriterien.


   
ReplyQuote

(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

@norbertfe Das ist im AD gespeichert. Irgendwoher muss ja auch Exchange wissen, wieso es behaupten kann, dass das Default-Zertifikat überschrieben wird.

This post was modified 2 years ago by MikeG

   
ReplyQuote
NorbertFe
(@norbertfe)
Joined: 4 years ago
Posts: 1626
 

Echt? Wo denn?


   
ReplyQuote

(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

@norbertfe

Each object that is retrieved contains multiple attributes. One of these attributes is msExchServerInternalTLSCert. This attribute contains the actual certificate used by the environment. If you look it up trough ADSI Edit (adsiedit.msc), then you'll find a string of number (hex, octal, decimal) values.

Not very human readable… And definitely not useful to determine the actual certificate.

PowerShell to the rescue!

We now know the Active Directory object and attribute to look for. Let's bring it all together and solve the riddle using Windows PowerShell.

Running PowerShell

Run the following PowerShell script:

#Specify a name of one of the Exchange Servers

$TargetExchangeServer = "Your Exchange Server"

$ExistingSessions = Get-PSSession

if($ExistingSessions.ConfigurationName -notcontains "Microsoft.Exchange"){

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri " http://$TargetExchangeServer/PowerShell /" -Authentication Kerberos

Import-PSSession $Session

}

else{

Write-Host "Use existing session" -ForegroundColor Green

}

#Get all Exchange Servers in the environment

$ExchangeServers = (Get-ExchangeServer |Where-Object {$_.ServerRole -like "mailbox"} )| Select-Object Name,DistinguishedName

$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]::ToBase64String($TransportCert)

$Cert.Import([Convert]::FromBase64String($CertBlob))

$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

This post was modified 2 years ago by MikeG

   
ReplyQuote
NorbertFe
(@norbertfe)
Joined: 4 years ago
Posts: 1626
 

Cool. Danke. ?


   
ReplyQuote

(@mikeg)
Eminent Member
Joined: 5 years ago
Posts: 25
Topic starter  

@norbertfe Danke auch Dir. Anhand des Skriptes konnte ich dann halt sehen, dass meine Änderungen gegriffen haben. Gewusst hätte ich es auch so ;-)


   
ReplyQuote
Share: