Schannel Error Codes for TLS and SSL Alerts

Schannel returns the following error messages when the corresponding alert is received from the Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols. The error messages are defined in Winerror.h.

TLS or SSL alert Schannel error code
SSL3_ALERT_UNEXPECTED_MESSAGE
10
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_BAD_RECORD_MAC
20
SEC_E_MESSAGE_ALTERED
0x8009030F
TLS1_ALERT_DECRYPTION_FAILED
21
SEC_E_DECRYPT_FAILURE
0x80090330
TLS1_ALERT_RECORD_OVERFLOW
22
SEC_E_ILLEGAL_MESSAGE
0x80090326
SSL3_ALERT_DECOMPRESSION_FAIL
30
SEC_E_MESSAGE_ALTERED
0x8009030F
SSL3_ALERT_HANDSHAKE_FAILURE
40
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_BAD_CERTIFICATE
42
SEC_E_CERT_UNKNOWN
0x80090327
TLS1_ALERT_UNSUPPORTED_CERT
43
SEC_E_CERT_UNKNOWN
0x80090327
TLS1_ALERT_CERTIFICATE_REVOKED
44
CRYPT_E_REVOKED
0x80092010
TLS1_ALERT_CERTIFICATE_EXPIRED
45
SEC_E_CERT_EXPIRED
0x80090328
TLS1_ALERT_CERTIFICATE_UNKNOWN
46
SEC_E_CERT_UNKNOWN
0x80090327
SSL3_ALERT_ILLEGAL_PARAMETER
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_UNKNOWN_CA
48
SEC_E_UNTRUSTED_ROOT
0x80090325
TLS1_ALERT_ACCESS_DENIED
49
SEC_E_LOGON_DENIED
0x8009030C
TLS1_ALERT_DECODE_ERROR
50
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_DECRYPT_ERROR
51
SEC_E_DECRYPT_FAILURE
0x80090330
TLS1_ALERT_EXPORT_RESTRICTION
60
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_PROTOCOL_VERSION
70
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
TLS1_ALERT_INSUFFIENT_SECURITY
71
SEC_E_ALGORITHM_MISMATCH
0x80090331
TLS1_ALERT_INTERNAL_ERROR
80
SEC_E_INTERNAL_ERROR
0x80090304
TLS1_ALERT_USER_CANCELED
90
SEC_E_UNFINISHED_CONTEXT_DELETED
0x80090333
TLS1_ALERT_NO_RENEGOTIATION
100
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_UNSUPPORTED_EXT
110
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_UNKNOWN_PSK_IDENTITY
115
SEC_E_ILLEGAL_MESSAGE
0x80090326
TLS1_ALERT_NO_APP_PROTOCOL
120
SEC_E_ILLEGAL_MESSAGE
0x80090367
Default
SEC_E_ILLEGAL_MESSAGE
0x80090326