ANAVEM
Languageen
Network security monitoring dashboard showing SSL/TLS certificate validation and security status
Event ID 36888ErrorSchannelWindows

ID d'événement Windows 36888 – Schannel : Échec de la poignée de main TLS/SSL avec erreur de validation de certificat

L'ID d'événement 36888 indique un échec de la poignée de main TLS/SSL dans le fournisseur de sécurité Schannel, généralement causé par des erreurs de validation de certificat, des incompatibilités de protocole ou de suite de chiffrement lors des tentatives de connexion sécurisée.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
19 mars 202612 min de lecture 0
Event ID 36888Schannel 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement Windows 36888 représente un échec fondamental dans le processus de poignée de main TLS/SSL géré par le fournisseur de sécurité Schannel. Lorsque cet événement se produit, il indique que la négociation cryptographique entre un client et un serveur a échoué à une étape critique, empêchant l'établissement d'un canal de communication sécurisé.

Le fournisseur Schannel fonctionne au niveau du noyau dans Windows, implémentant les protocoles SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2 et TLS 1.3. L'événement 36888 capture spécifiquement les échecs qui se produisent pendant la phase de poignée de main, où le client et le serveur négocient les paramètres de chiffrement, échangent des certificats et établissent des clés de session. Ces échecs peuvent provenir de diverses sources, y compris des erreurs de validation de la chaîne de certificats, des incompatibilités de version de protocole, des incompatibilités de suite de chiffrement ou des violations de politique de sécurité.

Les données de l'événement contiennent des informations de diagnostic cruciales, y compris des codes d'erreur, des empreintes de certificats et des détails de protocole qui aident les administrateurs à identifier la cause exacte de l'échec. En 2026, avec des exigences de sécurité renforcées et la dépréciation des anciennes versions de TLS, cet événement est devenu de plus en plus important pour maintenir des communications sécurisées dans les environnements d'entreprise. Les organisations mettant en œuvre des architectures de confiance zéro et des politiques de validation stricte des certificats voient souvent cet événement lorsque des systèmes hérités ou des applications mal configurées tentent d'établir des connexions en utilisant des protocoles de sécurité obsolètes.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Échecs de validation de certificat, y compris les certificats expirés, révoqués ou non fiables
  • Problèmes de chaîne de certificats où les certificats intermédiaires ou racine sont manquants ou invalides
  • Incompatibilités de version de protocole lorsque le client et le serveur ne prennent pas en charge les mêmes versions TLS
  • Incompatibilités de suite de chiffrement où aucun algorithme de chiffrement pris en charge mutuellement n'existe
  • Incompatibilités de nom d'hôte de certificat entre le sujet du certificat et le nom du serveur demandé
  • Certificats auto-signés rejetés par des politiques de validation strictes
  • Problèmes de confiance de l'Autorité de Certification (CA) où la CA émettrice n'est pas dans le magasin racine de confiance
  • Restrictions de politique de sécurité bloquant des protocoles ou suites de chiffrement spécifiques
  • Problèmes de connectivité réseau lors de la vérification de la liste de révocation de certificats (CRL) ou OCSP
  • Problèmes de synchronisation temporelle causant des échecs de validation de la période de validité des certificats
Méthodes de résolution

Étapes de dépannage

01

Analyser les détails de l'événement et les codes d'erreur

Commencez par examiner les détails spécifiques de l'erreur dans le Visualiseur d'événements pour comprendre le type de défaillance :

  1. Ouvrez Visualiseur d'événementsJournaux WindowsSystème
  2. Filtrez pour l'ID d'événement 36888 en utilisant l'option de filtre
  3. Double-cliquez sur l'événement le plus récent pour voir les informations détaillées
  4. Notez le code d'erreur, l'empreinte numérique du certificat et toute donnée supplémentaire
  5. Utilisez PowerShell pour extraire des informations détaillées sur l'événement :
Get-WinEvent -FilterHashtable @{LogName='System'; Id=36888} -MaxEvents 10 | ForEach-Object {
    [PSCustomObject]@{
        TimeCreated = $_.TimeCreated
        Message = $_.Message
        LevelDisplayName = $_.LevelDisplayName
        Properties = $_.Properties
    }
} | Format-Table -Wrap

Les codes d'erreur courants incluent 0x80092012 (certificat révoqué), 0x800B0109 (chaîne de certificats invalide) et 0x80092013 (certificat expiré). Documentez ces codes pour un dépannage ciblé.

02

Vérifier la chaîne de certificats et la validité

Vérifiez la chaîne de certificats et le statut de validation pour la connexion défaillante :

  1. Identifiez le serveur cible à partir des détails de l'événement
  2. Utilisez PowerShell pour tester la chaîne de certificats :
# Tester le certificat pour un serveur spécifique
$serverName = "your-server.domain.com"
$port = 443

try {
    $tcpClient = New-Object System.Net.Sockets.TcpClient
    $tcpClient.Connect($serverName, $port)
    $sslStream = New-Object System.Net.Security.SslStream($tcpClient.GetStream())
    $sslStream.AuthenticateAsClient($serverName)
    
    Write-Host "Sujet du certificat : " $sslStream.RemoteCertificate.Subject
    Write-Host "Émetteur du certificat : " $sslStream.RemoteCertificate.Issuer
    Write-Host "Valide à partir de : " $sslStream.RemoteCertificate.GetEffectiveDateString()
    Write-Host "Valide jusqu'à : " $sslStream.RemoteCertificate.GetExpirationDateString()
    
    $sslStream.Close()
    $tcpClient.Close()
} catch {
    Write-Error "Échec de la validation du certificat : $($_.Exception.Message)"
}
  1. Vérifiez le magasin de certificats pour les certificats intermédiaires manquants :
Get-ChildItem -Path Cert:\LocalMachine\CA | Where-Object {$_.Subject -like "*intermediate*"}

Si des certificats intermédiaires manquent, téléchargez-les et installez-les depuis l'autorité de certification.

03

Configurer les paramètres du protocole TLS et de la suite de chiffrement

Ajustez les paramètres du protocole TLS et les suites de chiffrement pour résoudre les problèmes de compatibilité :

  1. Vérifiez la configuration actuelle du protocole TLS dans le registre :
# Vérifiez les paramètres du client TLS 1.2
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -ErrorAction SilentlyContinue

# Vérifiez les paramètres du client TLS 1.3
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "Enabled" -ErrorAction SilentlyContinue
  1. Activez TLS 1.2 et TLS 1.3 s'ils sont désactivés :
# Activez TLS 1.2
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 0 -Type DWord

# Activez TLS 1.3
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" -Name "Enabled" -Value 1 -Type DWord
  1. Configurez l'ordre des suites de chiffrement pour la compatibilité :
# Obtenez l'ordre actuel des suites de chiffrement
Get-TlsCipherSuite | Select-Object Name, Certificate, KeyExchange, Cipher

# Définissez l'ordre recommandé des suites de chiffrement (nécessite un redémarrage)
$cipherOrder = @(
    "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"
)
Set-TlsCipherSuite -Name $cipherOrder
Avertissement : Les modifications du registre nécessitent un redémarrage du système pour prendre effet. Testez d'abord dans un environnement non productif.
04

Activer la journalisation Schannel pour des diagnostics détaillés

Activez la journalisation complète de Schannel pour capturer des informations détaillées sur la poignée de main :

  1. Activez la journalisation des événements Schannel dans le registre :
# Activer la journalisation Schannel
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "EventLogging" -Value 7 -Type DWord

# Créer la clé de registre de journalisation si elle n'existe pas
if (!(Test-Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Logging")) {
    New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Logging" -Force
}

# Activer la journalisation détaillée
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Logging" -Name "LogLevel" -Value 7 -Type DWord
  1. Redémarrez le système ou les services concernés pour appliquer les modifications de journalisation
  2. Surveillez le journal Système pour des événements Schannel supplémentaires :
# Surveiller les événements Schannel en temps réel
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Schannel'} -MaxEvents 50 | 
Sort-Object TimeCreated -Descending | 
Select-Object TimeCreated, Id, LevelDisplayName, Message | 
Format-Table -Wrap
  1. Analysez les journaux détaillés de la poignée de main pour identifier les points de défaillance spécifiques
  2. Utilisez des outils de capture de paquets réseau comme Wireshark pour examiner les paquets de poignée de main TLS si nécessaire
Astuce pro : La journalisation Schannel peut générer un volume de journaux important. Désactivez-la après le dépannage pour éviter la croissance des fichiers journaux.
05

Mettre en œuvre la gestion des certificats et des magasins de confiance

Résolvez les problèmes de confiance et de validation des certificats grâce à une gestion appropriée des certificats :

  1. Vérifiez et mettez à jour le magasin de confiance des certificats :
# Lister les certificats racine de confiance
Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object {$_.Subject -like "*YourCA*"}

# Importer le certificat racine manquant
$certPath = "C:\path\to\root-certificate.cer"
Import-Certificate -FilePath $certPath -CertStoreLocation Cert:\LocalMachine\Root

# Importer le certificat intermédiaire
Import-Certificate -FilePath "C:\path\to\intermediate.cer" -CertStoreLocation Cert:\LocalMachine\CA
  1. Configurer la vérification de la révocation des certificats :
# Désactiver la vérification de la révocation des certificats si l'accès réseau est limité
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config" -Name "MaxUrlRetrievalTimeoutMilliseconds" -Value 5000 -Type DWord

# Configurer les paramètres du cache CRL
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config" -Name "ChainCacheResyncTimeSeconds" -Value 900 -Type DWord
  1. Tester la validation des certificats par programmation :
# Tester la validation de la chaîne de certificats
$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -eq "YourCertThumbprint"}
$chain = New-Object System.Security.Cryptography.X509Certificates.X509Chain
$chain.ChainPolicy.RevocationMode = [System.Security.Cryptography.X509Certificates.X509RevocationMode]::Online
$chain.ChainPolicy.RevocationFlag = [System.Security.Cryptography.X509Certificates.X509RevocationFlag]::EntireChain

if ($chain.Build($cert)) {
    Write-Host "La chaîne de certificats est valide"
} else {
    Write-Host "Échec de la validation de la chaîne de certificats :"
    $chain.ChainStatus | ForEach-Object { Write-Host "  $($_.Status): $($_.StatusInformation)" }
}
  1. Mettre à jour Windows et les magasins de certificats :
# Mettre à jour le magasin de certificats racine
certlm.msc # Méthode manuelle

# Ou utiliser PowerShell pour mettre à jour depuis Windows Update
Update-Help -Module PKI -Force
Astuce pro : Utilisez la stratégie de groupe pour distribuer des certificats dans les environnements de domaine. Configurez les mises à jour automatiques des certificats racine via Windows Update pour les systèmes autonomes.

Aperçu

L'ID d'événement 36888 se déclenche lorsque le fournisseur de sécurité Schannel de Windows rencontre une défaillance critique lors des négociations de poignée de main TLS/SSL. Cet événement apparaît dans le journal Système lorsque les connexions sécurisées échouent en raison de problèmes de validation de certificat, d'incompatibilités de version de protocole ou d'incompatibilités de suite de chiffrement. Le fournisseur Schannel est l'implémentation native de Windows des protocoles SSL/TLS, gérant toutes les communications sécurisées pour les applications, y compris IIS, Exchange et les services tiers.

Cet erreur se manifeste généralement lorsque les clients tentent d'établir des connexions HTTPS aux serveurs web, des connexions LDAP sécurisées aux contrôleurs de domaine, ou tout canal de communication chiffré. L'événement fournit des codes d'erreur détaillés qui aident à identifier le point de défaillance spécifique dans le processus de poignée de main. Les scénarios courants incluent des certificats expirés, des autorités de certification non fiables, des rétrogradations de protocole bloquées par des politiques de sécurité, ou des incompatibilités de suite de chiffrement entre le client et le serveur.

Les administrateurs rencontrent fréquemment cet événement dans les environnements d'entreprise où la gestion des certificats, les politiques de sécurité et la conformité aux protocoles sont strictement appliquées. L'événement devient critique lorsqu'il affecte l'authentification des utilisateurs, la connectivité des applications ou les services automatisés qui dépendent des communications sécurisées.

Questions Fréquentes

Que signifie l'ID d'événement Windows 36888 et quand se produit-il ?+
L'ID d'événement 36888 indique un échec de la poignée de main TLS/SSL dans le fournisseur de sécurité Schannel. Il se produit lorsque Windows ne peut pas établir une connexion sécurisée en raison d'erreurs de validation de certificat, d'incompatibilités de protocole ou de suites de chiffrement. Cet événement se déclenche lors des connexions HTTPS, de l'authentification LDAP sécurisée ou de toute tentative de communication chiffrée où la négociation cryptographique échoue entre le client et le serveur.
Comment puis-je identifier la cause spécifique d'une erreur Schannel 36888 ?+
Examinez les détails de l'événement dans le Visualisateur d'événements pour les codes d'erreur et les informations sur le certificat. Les codes d'erreur courants incluent 0x80092012 (certificat révoqué), 0x800B0109 (chaîne invalide) et 0x80092013 (certificat expiré). Utilisez des commandes PowerShell comme Get-WinEvent pour extraire des données d'événements détaillées, et activez la journalisation Schannel en définissant la valeur de registre EventLogging à 7 dans HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL pour un diagnostic complet.
L'ID d'événement 36888 peut-il être causé par des incompatibilités de version TLS ?+
Oui, les incompatibilités de version TLS sont une cause courante de l'événement 36888. Cela se produit lorsque le client et le serveur ne prennent pas en charge des versions TLS compatibles, souvent en raison de politiques de sécurité désactivant les anciens protocoles comme TLS 1.0/1.1 ou de systèmes ne prenant pas en charge le nouveau TLS 1.3. Vérifiez le registre sous HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols pour vérifier les versions TLS activées et assurez-vous que les deux points d'extrémité prennent en charge une version de protocole commune.
Comment résoudre les erreurs de validation de la chaîne de certificats causant l'événement 36888 ?+
Les erreurs de chaîne de certificats nécessitent l'installation de certificats intermédiaires ou racines manquants. Utilisez PowerShell pour vérifier les magasins de certificats (Cert:\LocalMachine\Root et Cert:\LocalMachine\CA), téléchargez les certificats manquants auprès de l'autorité de certification, et importez-les en utilisant Import-Certificate. Vérifiez la chaîne complète du certificat serveur à une autorité de certification racine de confiance. Vérifiez également que la vérification de la révocation des certificats peut accéder aux points de terminaison CRL ou OCSP si les politiques réseau le permettent.
Quel impact l'ID d'événement 36888 a-t-il sur les applications et les services ?+
L'événement 36888 peut gravement affecter les applications nécessitant des connexions sécurisées, y compris les navigateurs web incapables de charger des sites HTTPS, les clients de messagerie incapables de se connecter à des serveurs de messagerie sécurisés, les échecs d'authentification de domaine et les intégrations API qui échouent. Des services comme IIS, Exchange, SQL Server et des applications tierces peuvent rencontrer des problèmes de connectivité. L'événement peut également affecter les processus automatisés, les solutions de sauvegarde et les outils de surveillance qui dépendent des communications sécurisées, pouvant potentiellement causer des interruptions de service ou des échecs de synchronisation des données.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...