Exchange Server SE SMTP STARTTLS reported as using SHA1 for TLS 1.2 key exchange by Internet.nl

Johnny Broe 686 Reputation points
2026-07-03T18:39:58.96+00:00

We have two Exchange Server SE Edge Transport servers running on Windows Server 2022.

Environment:
Exchange Server SE 15.2.2562.17
Windows Server 2022 Standard 21H2
OS Build 20348.4647
TLS 1.0 disabled
TLS 1.1 disabled
TLS 1.2 and TLS 1.3 enabled
RSA 3072-bit SMTP certificate (SHA-256)
No SMTP proxy, no TLS offloading, no SSL inspection
Zyxel ATP500 performs only NAT/firewall. SSL Inspection is disabled.

Internet.nl reports:

Hash function for key exchange: SHA1

for both MX hosts during SMTP STARTTLS.

PowerShell Get-TlsCipherSuite shows only modern cipher suites:

TLS_AES_256_GCM_SHA384

TLS_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

No SHA1 cipher suites are enabled.

Question:

Does Windows Schannel still intentionally use or advertise SHA1 for the TLS 1.2 ServerKeyExchange signature during SMTP STARTTLS?

If yes,

Is there any supported method to disable SHA1 signature algorithms in Schannel similar to OpenSSL SignatureAlgorithms?

If no,

Could this indicate a defect in Schannel?

Output fra Get-TlsCipherSuite:

KeyType : 0

Certificate :

MaximumExchangeLength : 0

MinimumExchangeLength : 0

Exchange :

HashLength : 0

Hash :

CipherBlockLength : 16

CipherLength : 256

BaseCipherSuite : 4866

CipherSuite : 4866

Cipher : AES

Name : TLS_AES_256_GCM_SHA384

Protocols : {772}

KeyType : 0

Certificate :

MaximumExchangeLength : 0

MinimumExchangeLength : 0

Exchange :

HashLength : 0

Hash :

CipherBlockLength : 16

CipherLength : 128

BaseCipherSuite : 4865

CipherSuite : 4865

Cipher : AES

Name : TLS_AES_128_GCM_SHA256

Protocols : {772}

KeyType : 0

Certificate :

MaximumExchangeLength : 0

MinimumExchangeLength : 0

Exchange :

HashLength : 0

Hash :

CipherBlockLength : 0

CipherLength : 0

BaseCipherSuite : 0

CipherSuite : 0

Cipher :

Name : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

Protocols : {}

KeyType : 0

Certificate : ECDSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 0

Hash :

CipherBlockLength : 16

CipherLength : 128

BaseCipherSuite : 49195

CipherSuite : 49195

Cipher : AES

Name : TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

Protocols : {771, 65277}

KeyType : 0

Certificate : RSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 0

Hash :

CipherBlockLength : 16

CipherLength : 256

BaseCipherSuite : 49200

CipherSuite : 49200

Cipher : AES

Name : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

Protocols : {771, 65277}

KeyType : 0

Certificate : RSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 0

Hash :

CipherBlockLength : 16

CipherLength : 128

BaseCipherSuite : 49199

CipherSuite : 49199

Cipher : AES

Name : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Protocols : {771, 65277}

KeyType : 0

Certificate : ECDSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 384

Hash : SHA384

CipherBlockLength : 16

CipherLength : 256

BaseCipherSuite : 49188

CipherSuite : 49188

Cipher : AES

Name : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Protocols : {771, 65277}

KeyType : 0

Certificate : ECDSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 256

Hash : SHA256

CipherBlockLength : 16

CipherLength : 128

BaseCipherSuite : 49187

CipherSuite : 49187

Cipher : AES

Name : TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

Protocols : {771, 65277}

KeyType : 0

Certificate : RSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 384

Hash : SHA384

CipherBlockLength : 16

CipherLength : 256

BaseCipherSuite : 49192

CipherSuite : 49192

Cipher : AES

Name : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

Protocols : {771, 65277}

KeyType : 0

Certificate : RSA

MaximumExchangeLength : 65536

MinimumExchangeLength : 0

Exchange : ECDH

HashLength : 256

Hash : SHA256

CipherBlockLength : 16

CipherLength : 128

BaseCipherSuite : 49191

CipherSuite : 49191

Cipher : AES

Name : TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Protocols : {771, 65277}

I would like a hint :-)

Exchange | Exchange Server | Other
Exchange | Exchange Server | Other

A robust email, calendaring, and collaboration platform developed by Microsoft, designed for enterprise-level communication and data management.Miscellaneous topics that do not fit into specific categories.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Hin-V 16,820 Reputation points Microsoft External Staff Moderator
    2026-07-03T21:14:02.7266667+00:00

    Hi @Johnny Broe

    Thank you for sharing your concern and detailed information. 

    I will address your questions one by one below. 

    Regarding to whether Windows Schannel intentionally use or advertise SHA1 for the TLS 1.2 ServerKeyExchange signature

    Based on my research, the observed behavior may be related to how Windows Schannel handles TLS 1.2 signature algorithm negotiation in certain compatibility scenarios. This is separate from the certificate signature algorithm and separate from the enabled cipher suites. Therefore, a report showing "SHA1 for key exchange" does not necessarily indicate that the SMTP certificate is SHA1-signed or that SHA1 cipher suites are enabled. 

    image

    For your reference: TLS (Schannel SSP) | Microsoft Learn 

    As noted in the documentation, some clients might not fully comply with the TLS 1.2 RFC regarding the signature_algorithms extension. Because of this, Schannel may fall back to SHA1 to ensure broader interoperability. 

    Any supported method to disable SHA1 signature algorithms in Schannel 

    Currently, I have not identified a Microsoft-supported configuration that provides functionality equivalent to OpenSSL's SignatureAlgorithms setting for selectively disabling TLS 1.2 SHA1 handshake signature algorithms in Schannel. I also have not found documentation describing a supported method to control the specific signature algorithm used for the TLS 1.2 ServerKeyExchange message. 

    Whether this behavior indicates a defect in Schannel. 

    From what I understand, the observed behavior appears more consistent with Schannel's TLS 1.2 interoperability and compatibility handling than with a documented product issue. If this finding affects your organization's compliance requirements, you may consider using an SMTP relay or gateway in front of the Edge servers that provides more granular control over TLS signature algorithm policies. 

    Please note that this summary is based on my own research and findings and may not fully address all of your concerns. As community moderators, we do not have access to Microsoft’s backend systems, nor can we directly influence or modify product functionality. Therefore, the information provided is based on publicly available Microsoft documentation, official resources, and established best practices. That said, I’ll do my best to provide additional insight where possible

    I hope this helps. 

    Please feel free to correct me if I misunderstood your request. If you have any additional concerns, feel free to comment below. I would be more than happy to assist. 


    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.