Anavem
Languageen
ErreurVPN / Distant

0x800B0109

CERT_E_UNTRUSTEDROOT

Certificat chain processed but terminated in a root certificat which is not trusted. VPN certificat issue.

Code hex

0x800B0109

Décimal

-2146762487

Sévérité

Erreur

Catégorie

VPN / Distant

Description

CERT_E_UNTRUSTEDROOT (code hexadécimal 0x800B0109, décimal -2146762487) est un code d'erreur Windows de niveau erreur appartenant à la famille VPN et accès distant. Microsoft remonte ce code via l'API Win32, le runtime CLR, le noyau, le journal d'événements, PowerShell, les outils en ligne de commande (sfc, dism, gpupdate, sc) et les applications Windows telles qu'Outlook, Teams, Office ou System Center.

Certificate chain processed but terminated in a root certificate which is not trusted. VPN certificate issue.

Cette page documente ce qui déclenche 0x800B0109, les scénarios les plus courants où il apparaît, les causes racines probables et un workflow de diagnostic pas-à-pas applicable sur les postes concernés. Elle s'adresse aux administrateurs système, techniciens MSP, ingénieurs helpdesk et à toute personne diagnostiquant le comportement de Windows en environnement managé.

Explication détaillée

Il s'agit d'un code de niveau erreur. Windows l'utilise pour signaler une opération en échec qui a empêché l'appelant de terminer son travail. La cause sous-jacente peut aller d'un problème de droits ou de quota à un composant système corrompu, une dépendance manquante ou un service injoignable.

Il fait partie de l'espace d'erreurs RAS / VPN / certificat. Il apparaît dans les journaux Always On VPN, le log du service RasMan, le journal Microsoft-Windows-NetworkProfile et les traces de validation de certificat.

Le code peut être recherché par programmation en PowerShell avec [ComponentModel.Win32Exception]::new(-2146762487).Message (pour les codes Win32 / NTSTATUS qui se mappent proprement), ou avec net helpmsg <decimal> pour la plage décimale historique. Pour les codes de type HRESULT, décodez la facility et le code via err.exe du SDK ou la commande !error de WinDbg.

Causes courantes

  • Certificat de passerelle VPN expiré, révoqué ou signé par une racine non approuvée.
  • Hostname serveur ne correspondant pas au Subject Alternative Name du certificat.
  • Service RAS / IKEv2 / SSTP arrêté sur le client.
  • Pare-feu ou FAI bloquant IKE (UDP 500/4500), SSTP (TCP 443) ou PPTP/L2TP.
  • Profil Always On VPN poussé via Intune / SCCM corrompu — redéployez.

Étapes de diagnostic

  1. Vérifiez que le certificat TLS / IKE du serveur VPN est approuvé par le client (CA racine installée, non expirée, CRL/OCSP joignable).
  2. Vérifiez que le hostname serveur correspond exactement au Subject Alternative Name du certificat.
  3. Redémarrez les services client : Restart-Service RasMan et Restart-Service RemoteAccess.
  4. Vérifiez qu'IKE (UDP 500/4500), SSTP (TCP 443) ou le protocole configuré est ouvert de bout en bout.
  5. Pour Always On VPN, régénérez le tunnel device avec Add-VpnConnection et redéployez le profil Intune.

Décoder en PowerShell

# Decode 0x800B0109 (-2146762487) in PowerShell
[ComponentModel.Win32Exception]::new(-2146762487).Message

# Or via WinDbg / err.exe (Windows SDK)
# err 0x800B0109

# Or net helpmsg (legacy decimal range only)
# net helpmsg <decimal>

Questions fréquentes

Que signifie le code d'erreur Windows 0x800B0109 ?
Il s'agit du code Win32 / NTSTATUS CERT_E_UNTRUSTEDROOT (décimal -2146762487). Certificat chain processed but terminated in a root certificat which is not trusted. VPN certificat issue.
Comment décoder 0x800B0109 en PowerShell ?
Lancez [ComponentModel.Win32Exception]::new(-2146762487).Message dans n'importe quelle session PowerShell. Pour les codes de type HRESULT, utilisez err.exe du SDK Windows ou la commande !error de WinDbg.
Où Windows journalise-t-il typiquement cette erreur ?
Cela dépend du sous-système d'origine (Windows Update → %WinDir%\WindowsUpdate.log ; AD/Kerberos → journal Sécurité sur le DC ; BSOD → minidump dans C:\Windows\Minidump ; MSI → %TEMP%\msi*.log ; WMI → Microsoft-Windows-WMI-Activity). Croisez toujours l'horodatage et le nom du module avec les journaux Application et Système.
Ce code est-il récupérable ?
Les codes de niveau critique exigent généralement une investigation noyau (driver, matériel, réparation de fichiers système). Les codes erreur et avertissement sont typiquement récupérables via le workflow de cette page — commencez par les étapes shell élevé + revue des journaux.
Dois-je ouvrir un ticket support Microsoft pour cela ?
Ouvrez un ticket si l'erreur se reproduit après application des étapes de diagnostic, particulièrement si elle bloque des charges de production, se produit sur plusieurs endpoints ou est associée à une frontière de sécurité (récupération BitLocker, échec Kerberos, durcissement DCOM, SmartScreen / WDAC). Préparez un CBS log frais, un minidump ou un export Get-WinEvent avant d'ouvrir le ticket.