0x80090005

Le code d'erreur 0x80090005 est un problème courant sous Windows, associé au Service Cryptographique. Indique généralement des échecs dans le stockage des clés ou dans la configuration du système. Pour le résoudre, essayez de redémarrer le service ou d'installer les mises à jour en attente. Si le problème persiste, consulte la documentación oficial de Microsoft.

Contenu

Código de error de Windows 0x80090005

Le code d'erreur 0x80090005 es un código HRESULT estándar en los sistemas operativos Windows 10 et Windows 11, que indica un problema relacionado con operaciones criptográficas, específicamente un "Bad Keyset" o conjunto de claves inválido. Este error se asocia principalmente con el subsistema de Criptografía de Windows (CryptoAPI) y los proveedores de servicios criptográficos (CSPs), qui sont des composants clés pour la gestion des clés, certificados y cryptage en aplicaciones como Windows Update, servicios de autenticación y procesos de seguridad. Su relevancia radica en que puede interrumpir operaciones críticas de sistema, comme l'installation des mises à jour, el acceso a recursos protegidos o la ejecución de aplicaciones que dependen de la integridad criptográfica, lo que puede comprometer la estabilidad y la seguridad del sistema.

Introduction

Le code d'erreur 0x80090005, connu comme NTE_BAD_KEYSET, Il provient du framework d'erreurs HRESULT de Microsoft, qui est utilisé pour signaler des échecs dans les opérations logicielles, en particulier dans les contextes de programmation et les services système. Dans le domaine de Windows 10 Oui 11, cette erreur est particulièrement pertinente en raison de la dépendance croissante aux fonctionnalités de sécurité avancées, comme le cryptage des données, la gestion des certificats et l'intégration avec les services cloud. Par exemple, elle peut apparaître lors des processus de Windows Update lors de la tentative de vérification des signatures numériques, dans les opérations de Microsoft Edge ou dans des applications utilisant l'API CryptoAPI pour gérer des clés privées ou publiques.

L'erreur se manifeste dans des scénarios courants comme la configuration des comptes utilisateur, l'installation de logiciels signés numériquement ou le dépannage de problèmes réseau impliquant l'authentification. Son importance pour les administrateurs systèmes et les développeurs réside dans le fait qu'il signale des vulnérabilités potentielles dans l'infrastructure cryptographique, qui pourrait être exploitée par des menaces externes. En Windows 11, avec son accent sur la sécurité améliorée grâce à des fonctionnalités telles que Secure Boot et le TPM (Module de plate-forme de confiance), cette erreur peut survenir plus fréquemment dans les environnements d'entreprise où des données sensibles sont traitées. Historiquement, bien qu'elle soit présente depuis des versions antérieures comme Windows 7, son incidence a augmenté avec l'adoption de Windows 10 Oui 11 en raison de la complexité croissante des écosystèmes d'applications et de services cloud.

Pour les utilisateurs avancés, comprendre 0x80090005 implique de reconnaître son rôle dans l'écosystème des erreurs HRESULT, que facilita el diagnóstico preciso en entornos de desarrollo. Este error no solo afecta a componentes nativos de Windows, sino también a aplicaciones de terceros que interactúan con APIs como CryptAcquireContext o CryptGenKey, lo que lo convierte en un indicador clave de problemas subyacentes en la gestión de claves criptográficas.

Détails Techniques

Le code d'erreur 0x80090005 forma parte de la estructura HRESULT, un format standardisé dans Windows pour représenter les résultats des opérations, definido en la documentación del Windows SDK. Un HRESULT est une valeur de 32 bits que se compone de varios elementos: el bit más significativo indica la sévérité (0 pour le succès, 1 pour échec), les bits 16-26 représentent le code d'installation (code de la facility), y los bits inferiores 16 bits contienen el code d'erreur spécifique. Dans le cas de 0x80090005, se décompose de la manière suivante:

  • Gravité: El bit alto (8 en hexadécimal) indique une erreur (ÉCHEC), ce qui signifie que l'opération n'a pas été complétée avec succès.
  • Code de l'installation: 0x900 (équivalent à 2304 en décimal), qui correspond à FACILITY_SECURITY o más específicamente a subinstalaciones relacionadas con CryptoAPI y SSPI (Interface du fournisseur de support de sécurité). Esto lo vincula directamente a componentes de seguridad como el servicio Cryptographic Services.
  • Code Spécifique: 0x0005, qui se traduit par NTE_BAD_KEYSET, un error definido en el archivo winerror.h del SDK de Windows, indiquant que l'ensemble de clés cryptographiques est invalide ou inaccessible.

Techniquement, cette erreur se produit lorsque les API de CryptoAPI, Quoi CryptAcquireContext O CryptGetKeySetParam, tentent d'accéder à un conteneur de clés (keyset) qui est corrompu, mal configuré ou avec des permissions insuffisantes. Ces API font partie du fournisseur de services cryptographiques (CSP), qui dans Windows 10 Oui 11 peut inclure des modules comme CNG (Cryptography Next Generation) ou l'ancien CSP basé sur RSA. Par exemple, dans un contexte de développement, un développeur pourrait rencontrer cette erreur en appelant des fonctions comme:

HRESULT hr = CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0);
if (FAILED(hr)) {
    // hr podría ser 0x80090005
}

Les processus affectés incluent des services tels que svchost.exe (qui héberge CryptSvc), lsass.exe (pour l'authentification) et des applications qui dépendent de certificats, comme Microsoft Store ou les mises à jour de Windows. Les dépendances clés incluent le Registre Windows (où sont stockées les configurations de clés), le magasin de certificats (Certificate Store) et des composants matériels tels que le TPM sous Windows 11. Dans les environnements de production, cette erreur peut se propager à travers des dépendances interprocessus, comme lorsque un service Windows Update consulte des clés pour vérifier l'intégrité.

Pour une analyse plus approfondie, les administrateurs peuvent utiliser des outils comme le débogueur Windows (WinDbg) pour inspecter le flux HRESULT, ou consulter la documentation de Microsoft Learn sur les erreurs du système, où sont détaillées les constantes telles que NTE_BAD_KEYSET (définie comme 0x80090005 dans winerror.h).

Causes Courantes

Les causes de l'erreur 0x80090005 sont généralement liées à des problèmes de gestion des ressources cryptographiques, et peuvent varier selon la configuration du système. Ensuite, les causes les plus fréquentes sont détaillées, avec des exemples pour illustrer des scénarios réels:

  • Corruption des conteneurs de clés: L'une des raisons les plus courantes est la corruption du magasin de clés cryptographiques, qui peut se produire en raison de pannes du disque dur, des interruptions pendant les opérations d'écriture ou des conflits avec un logiciel antivirus. Par exemple, si un utilisateur tente d'accéder à un certificat dans le Certificate Store et que l'ensemble de clés associé est endommagé, l'erreur se déclenche lors de l'appel à CryptAPI.

  • Problèmes de permissions et d'accès: Dans les configurations Multi-utilisateurs ou des domaines Annuaire actif, permissions insuffisantes dans le Registre (par exemple, dans les clés sous HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography) peuvent générer cette erreur. Un scénario typique est lorsqu'un processus n'a pas les droits nécessaires (comme SeManageVolumePrivilege) pour lire ou écrire dans le keyset, ce qui est courant dans les environnements avec des politiques de sécurité strictes.

  • Conflits avec des logiciels ou pilotes: Échecs de mises à jour de Windows ou installation de logiciels tiers qui modifient des fichiers cryptographiques (comme des pilotes TPM ou CSP personnalisés) peut provoquer des incompatibilités. Par instance, si un antivirus interfère avec le service CryptSvc, les opérations cryptographiques échouent, générant 0x80090005.

  • Problèmes de matériel ou de firmware: En Windows 11, où le TPM est obligatoire pour certaines fonctions, un TPM defectuoso o con firmware desactualizado puede resultar en este error durante procesos de arranque seguro o encriptación de BitLocker. Un ejemplo es cuando el sistema no puede acceder al keyset almacenado en TPM debido a un error de hardware.

  • Configuraciones incorrectas en el Registro o políticas de grupo: Modificaciones manuales en el Registro, como alterar valores bajo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders, pueden desestabilizar el CSP, especialmente si se eliminan accidentalmente entradas relacionadas con claves maestras.

  • Mises à jour en attente ou conflits de versions: En Windows 10 Oui 11, si hay actualizaciones de seguridad pendientes que afectan a CryptoAPI (como parches KBxxxx), el error puede surgir durante la verificación de firmas. Par exemple, en un sistema con Windows Update deshabilitado, las claves criptográficas pueden volverse obsoletas.

Ces causes ne sont pas mutuellement exclusives et se combinent souvent, nécessitant un diagnostic complet pour identifier le facteur principal.

Étapes de résolution

La résolution de l'erreur 0x80090005 nécessite une approche systématique, en utilisant des outils de ligne de commande et des éditions du Registre pour les utilisateurs avancés. Il est crucial de suivre ces étapes avec précaution, car des opérations comme modifier le Registre peuvent provoquer de l'instabilité si elles ne sont pas effectuées correctement. Faites toujours des sauvegardes et exécutez les commandes dans un environnement de test avant de les appliquer en production.

  1. Vérification initiale et diagnostic: Commencez par exécuter le Vérificateur de fichiers système (SFC) pour détecter la corruption dans les fichiers système. Ouvrez une invite de commandes élevée et exécutez:

    sfc /scannow

    Cela analysera et réparera les fichiers protégés. Si des problèmes sont détectés, procédez à DISM pour restaurer l'image du système:

    DISM /Online /Cleanup-Image /RestoreHealth
  2. Réparation des services cryptographiques: Redémarrez le service Cryptographic Services via PowerShell ou CMD. In PowerShell, utilisez:

    Get-Service -Name CryptSvc | Restart-Service

    Pour un diagnostic plus approfondi, exécutez certutil pour vérifier et réparer le magasin de certificats:

    certutil -store

    Si des ensembles de clés corrompus sont identifiés, supprimez et régénérez avec:

    certutil -delstore "My" "NombreDelCertificado"
  3. Modifications dans le Registre: Accédez à Éditeur de registre (regedit.exe) et naviguez jusqu'à HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography. Verifique y corrija permisos en subclaves como "Providers". Par exemple, assurez-vous que l'utilisateur dispose des droits de lecture/écriture. Risque: Toute erreur ici pourrait rendre le système inutilisable; utilisez des scripts PowerShell pour automatiser, Quoi:

    Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftCryptography" -Name "SomeKey" -Value "CorrectValue" -Type String

    Meilleure pratique: Exportez la clé avant de modifier.

  4. Utilisation d'outils avancés: Si l'erreur persiste, utilisez Scripts PowerShell pour réinitialiser les CSPs. Exemple:

    $keyPath = "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNEL"
    Remove-ItemProperty -Path $keyPath -Name "Protocols" -ErrorAction SilentlyContinue

    Pour des problèmes de TPM sous Windows 11, exécutez:

    tpm.msc

    et redémarrez le module.

  5. Vérification du matériel et des mises à jour: Mettez à jour le firmware du TPM via l'outil de Microsoft et exécutez Windows Update pour installer les correctifs pertinents. Si l'erreur est due aux pilotes, utilisez pnputil pour gérer les composants.

N'oubliez pas de documenter chaque étape et de surveiller les journaux dans l'Observateur d'événements pour éviter les récurrences.

Erreurs liées

L'erreur 0x80090005 fait partie de la famille de codes HRESULT liés à la cryptographie et à la sécurité, spécifiquement ceux avec le code de facility 0x900 (FACILITY_SECURITY). Ensuite, un tableau avec les erreurs liées et leurs connexions:

Code d'erreur La description Connexion avec 0x80090005
00x80090001 NTE_BAD_UID (Identifiant utilisateur invalide) Similaire, se produit lors des accès aux ensembles de clés; précède souvent 0x80090005 dans les séquences d'erreurs cryptographiques.
0x80090006 NTE_BAD_SIGNATURE (Invalid signature) Lié à la vérification de l'intégrité, commun dans les scénarios de Windows Update où 0x80090005 indique des problèmes sous-jacents dans les clés.
0x80090016 NTE_KEYSET_NOT_FOUND (Ensemble de clés non trouvé) Directement connecté, puisque 0x80090005 peut résulter d'un ensemble de clés absent ou corrompu.
0x80070005 E_ACCESSDENIED (Accès refusé) De la famille FACILITY_WIN32, coexiste souvent avec 0x80090005 dans des cas de permissions insuffisantes lors d'opérations cryptographiques.
0x80072F8F Erreur de Windows Update liée aux certificats Indirectement lié, puisque des problèmes dans CryptoAPI peuvent évoluer vers des erreurs de mise à jour, partageant des causes comme la corruption de clés.

Ces erreurs partagent des schémas communs, comme des problèmes dans CryptoAPI, et leur diagnostic conjoint est essentiel pour résoudre des problèmes systémiques.

Contexte historique

L'erreur 0x80090005 a ses racines dans le développement de CryptoAPI sous Windows NT et a évolué avec les versions ultérieures de Windows. En Windows 7, cette erreur était moins fréquente, se limitant principalement aux opérations cryptographiques locales, comme dans Outlook pour la gestion des certificats de courrier. Cependant, Windows 10 (introduit en 2015), son incidence a augmenté en raison de l'intégration des services cloud et de l'amélioration de la sécurité, comme Secure Boot et BitLocker, qui dépendent davantage de TPM et CNG.

En Windows 11, Microsoft a affiné la gestion des erreurs HRESULT via des mises à jour telles que celles de .Cadre net et Windows SDK, introduisant des améliorations dans le diagnostic, comme des outils intégrés dans PowerShell 7.0+. Par exemple, des correctifs tels que KB5008212 ont traité des vulnérabilités pouvant provoquer 0x80090005, surtout dans des environnements avec TPM 2.0. Historiquement, depuis Windows XP, cette erreur est restée cohérente dans sa définition, mais son contexte a changé: dans les versions legacy, elle était plus associée aux CSP traditionnels, tandis que dans Windows 10/11, elle s'étend à CNG et aux API modernes.

Microsoft a émis plusieurs mises à jour pour atténuer cette erreur, comme dans les accumulations de sécurité de 2022, qui améliorent la résilience de CryptoAPI face à la corruption. Pour les développeurs, l'évolution se reflète dans le SDK, où des outils comme WinDbg ont gagné des fonctionnalités pour suivre HRESULT en temps réel.

Références et Lecture Supplémentaire

Pour une exploration plus approfondie, il est recommandé de consulter ces sources pour maintenir l'information à jour.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.