Windows error code 0x80090005
The error code 0x80090005 is a standard HRESULT code in Windows operating systems 10 and Windows 11, which indicates a problem related to cryptographic operations, específicamente un "Bad Keyset" or invalid keyset. This error is mainly associated with the Windows Cryptography subsystem (CryptoAPI) and cryptographic service providers (CSPs), which are key components for handling keys, certificates and encryptionEncryption is a fundamental process in information security that transforms readable data into an unreadable format., known as ciphertext. This method uses algorithms and cryptographic keys to protect the confidentiality of information, ensuring that only authorized people can access it. It is widely used in various applications, as digital communications, financial transactions and data storage. As cyber threats evolve,... in applications such as Windows UpdateWindows updates are essential components for the maintenance and security of Microsoft operating systems. Through Windows Update, users receive performance improvements, security patches and new features. It is recommended that users keep this option activated to ensure protection against vulnerabilities and optimize system operation. Updates are downloaded and installed automatically, although it is also possible to configure them manually.., servicios de autenticación y procesos de seguridad. Su relevancia radica en que puede interrumpir operaciones críticas de sistema, como la instalación de actualizaciones, 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.
Introducción
The error code 0x80090005, known as NTE_BAD_KEYSET, se origina en el framework de errores HRESULT de Microsoft, que se utiliza para reportar fallos en operaciones de software, especialmente en contextos de programación y servicios del sistema. En el ámbito de Windows 10 Y 11, este error es particularmente relevante debido a la creciente dependencia en características de seguridad avanzadas, como la encriptación de datos, Certificate management and integration with cloud services. For example, may appear during Windows Update processes when attempting to verify digital signatures, in Microsoft Edge operations or in applications that use the CryptoAPI to handle private or public keys.
The error occurs in common scenarios such as setting up user accounts, installing digitally signed software, or troubleshooting network issues involving authentication. Its significance for system administrators and developers lies in that it highlights potential vulnerabilities in the cryptographic infrastructure, which could be exploited by external threats. In Windows 11, con su énfasis en la seguridad mejorada a través de características como Secure Boot y TPM (Trusted Platform Module), este error puede surgir con más frecuencia en entornos empresariales donde se manejan datos sensibles. Históricamente, aunque presente desde versiones anteriores como Windows 7, su incidencia ha aumentado con la adopción de Windows 10 Y 11 debido a la complejidad creciente de los ecosistemas de aplicaciones y servicios en la nube.
For advanced users, comprender 0x80090005 implica reconocer su rol en el ecosistema de errores 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.
Detalles Técnicos
The error code 0x80090005 forma parte de la estructura HRESULT, un formato estandarizado en Windows para representar resultados de operaciones, definido en la documentación del Windows SDKA Software Development Kit (SDK) is a set of tools and resources that allow developers to create applications for a specific platform. Usually, an SDK includes libraries, documentation, code examples and debugging tools. Its goal is to simplify the development process by providing reusable components and facilitating the integration of functionality.. SDKs are essential in modern software development, since they allow.... More. Un HRESULT es un valor de 32 bits que se compone de varios elementos: el bit más significativo indica la severidad (0 para éxito, 1 para fallo), los bits 16-26 representan el código de instalación (facility code), y los bits inferiores 16 bits contienen el código de error específico. En el caso de 0x80090005, se descompone de la siguiente manera:
- Severidad: El bit alto (8 en hexadecimal) indica un error (FAILURE), which means that the operation was not completed successfully.
- Facility Code: 0x900 (equivalente a 2304 en decimal), que corresponde a FACILITY_SECURITY o más específicamente a subinstalaciones relacionadas con CryptoAPI y SSPI (Security Support Provider Interface). Esto lo vincula directamente a componentes de seguridad como el servicio Cryptographic Services.
- Código Específico: 0x0005, que se traduce en NTE_BAD_KEYSET, un error definido en el archivo winerror.h del SDK de Windows, indicating that the cryptographic keyset is invalid or inaccessible.
Técnicamente, this error occurs when the CryptoAPI APIs, What CryptAcquireContext O CryptGetKeySetParam, attempt to access a key container (keyset) that is corrupt, misconfigured or has insufficient permissions. These APIs are part of the cryptographic service provider (CSP), which in Windows 10 Y 11 can include modules such as CNG (Cryptography Next Generation) or the old RSA-based CSP. For example, in a development context, a developer might encounter this error when invoking functions like:
HRESULT hr = CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0);
if (FAILED(hr)) {
// hr podría ser 0x80090005
}
The affected processes include services such as svchost.exe (that hosts CryptSvc), lsass.exe (para autenticación) and applications that rely on certificates, such as Microsoft Store or Windows updates. Dependencias clave incluyen el Registro de Windows (where key settings are stored), the certificate store (Certificate Store) and hardware components like TPM in Windows 11. In production environments, this error can propagate through inter-process dependencies, like when a Windows Update service queries keys to verify integrity.
For a deeper analysis, administrators can use tools like the Windows debugger (WinDbg) to inspect the HRESULT flow, or consult the Microsoft Learn documentation on system errors, where constants such as NTE_BAD_KEYSET (defined as 0x80090005 in winerror.h).
Causas Comunes
The causes of the error 0x80090005 are usually related to issues in cryptographic resource management, and can vary depending on the system configuration. Then, the most frequent causes are detailed, with examples to illustrate real scenarios:
-
Key container corruption: One of the most common causes is corruption in the cryptographic key store, which can occur due to hard drive failures, interruptions during write operations or conflicts with antivirus software. For example, if a user tries to access a certificate in the Certificate Store and the associated keyset is damaged, the error is triggered during the call to CryptAPI.
-
Problemas de permisos y accesos: In configurations Multi -userThe term "Multi -user" It refers to systems or applications that allow the simultaneous interaction of multiple users. This concept is fundamental in the field of computer science, where platforms as databases, Operating Systems and Collaboration Software Facilitates joint work. The main characteristic of a multi -user environment is the ability to share resources and data, which improves efficiency and encourages cooperation. However, also... or domains Active DirectoryActive Directory (AD) is a directory service developed by Microsoft that allows you to manage and organize resources within a network. Facilitates authentication and authorization of users and computers, offering a framework for centralized management of security and access policies. AD uses a hierarchical structure that includes domains, trees and forests, providing efficient scalability. What's more, allows the implementation of Group Policies, that help...., insufficient permissions in the Registry (for example, in keys under HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography) can cause this error. A typical scenario is when a process does not have the necessary rights (such as SeManageVolumePrivilege) to read or write in the keyset, which is common in environments with strict security policies.
-
Conflicts with software or drivers: Failed Windows updates or the installation of third-party software that modifies cryptographic files (such as TPM drivers or custom CSPs) can cause incompatibilities. For instance, if an antivirus interferes with the CryptSvc service, cryptographic operations fail, generando 0x80090005.
-
Hardware or firmware issues: In Windows 11, where TPM is mandatory for certain functions, a faulty or outdated TPM firmware can result in this error during secure boot or encryption processes BitLockerBitLocker is a full disk encryption tool developed by Microsoft, Available in professional and enterprise versions of the Windows operating system. Its main objective is to protect information stored on hard drives and removable drives through data encryption, so that only authorized users can access them. BitLocker uses advanced encryption algorithms and can integrate with the trusted platform module (TPM) to improve..... 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.
-
Actualizaciones pendientes o conflictos de versiones: In Windows 10 Y 11, si hay actualizaciones de seguridad pendientes que afectan a CryptoAPI (como parches KBxxxx), el error puede surgir durante la verificación de firmas. For example, en un sistema con Windows Update deshabilitado, las claves criptográficas pueden volverse obsoletas.
These causes are not mutually exclusive and often combine, requiriendo un diagnóstico exhaustivo para identificar el factor principal.
Pasos de Resolución
The resolution of the error 0x80090005 requires a systematic approach, utilizando herramientas de command lineThe command line is a textual interface that allows users to interact with the operating system using written commands.. Unlike graphical interfaces, where icons and menus are used, The command line provides direct and efficient access to various system functions. It is widely used by developers and system administrators to perform tasks such as file management, network configuration and.... And Registry edits for advanced users. It is crucial to follow these steps carefully, ya que operaciones como editar el Registro pueden provocar inestabilidad si no se realizan correctamente. Siempre realice copias de seguridad y ejecute comandos en un entorno de prueba antes de aplicarlos en producción.
-
Initial check and diagnosis: Inicie ejecutando el System file checker (SFC) to detect corruption in system files. Open an elevated command prompt and run:
sfc /scannowThis will scan and repair protected files. Si se detectan problemas, proceed to DISM para restaurar la imagen del sistema:
DISM /Online /Cleanup-Image /RestoreHealth -
Repair cryptographic services: Restart the Cryptographic Services service via PowerShellPowerShell is a configuration management and automation tool developed by Microsoft.. Allows system administrators and developers to run commands and scripts to perform administration tasks on Windows operating systems and other environments. Its object-based syntax makes data manipulation easy, making it a powerful option for systems management. What's more, PowerShell has an extensive library of cmdlets, So... or CMD. In PowerShell, use:
Get-Service -Name CryptSvc | Restart-ServiceFor a deeper diagnosis, ejecute certutil to check and repair the certificate store:
certutil -storeIf corrupted keysets are identified, delete and regenerate with:
certutil -delstore "My" "NombreDelCertificado" -
Registry edits: Access Editor del RegistroThe "Registry Editor" es una herramienta fundamental en sistemas operativos como Windows, que permite a los usuarios modificar la base de datos del registro. Esta base de datos almacena configuraciones esenciales del sistema y de aplicaciones, and editing it can help optimize system performance or resolve functional issues. However, it is important to use this tool with caution, since incorrect changes can cause system failures.... (regedit.exe) and navigate to HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography. Verifique y corrija permisos en subclaves como "Providers". For example, make sure the user has read/write rights. Riesgo: Any error here could make the system inoperable; use PowerShell scripts to automate, What:
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftCryptography" -Name "SomeKey" -Value "CorrectValue" -Type StringBest practice: Exporte la clave antes de modificar.
-
Uso de herramientas avanzadas: Si el error persiste, utilice PowerShell scripts para resetear CSPs. Example:
$keyPath = "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNEL" Remove-ItemProperty -Path $keyPath -Name "Protocols" -ErrorAction SilentlyContinuePara problemas de TPM en Windows 11, ejecute:
tpm.mscy reinicie el módulo.
-
Verificación de hardware y actualizaciones: Actualice el firmware de TPM a través de la herramienta de Microsoft y ejecute Windows Update para instalar parches relevantes. Si el error se debe a drivers, use pnputil para gestionar componentes.
Recuerde documentar cada paso y monitorear logs en Event Viewer para evitar recurrencias.
Related Errors
The error 0x80090005 forma parte de la familia de códigos HRESULT relacionados con criptografía y seguridad, específicamente aquellos con facility code 0x900 (FACILITY_SECURITY). Then, una tabla con errores relacionados y sus conexiones:
| Código de Error | Description | Conexión con 0x80090005 |
|---|---|---|
| 0x80090001 | NTE_BAD_UID (Identificador de usuario inválido) | Similar, ocurre en accesos a keysets; a menudo precede a 0x80090005 en secuencias de errores criptográficos. |
| 0x80090006El código de error 0x80090006 en Windows indica que un conjunto de claves criptográficas no está definido (NTE_BAD_KEYSET). Comúnmente surge en operaciones como BitLocker o certificados digitales, debido a claves ausentes o problemas de configuración. To fix it, verifica la disponibilidad de las claves y reinicia los servicios relacionados. Consulta la documentación oficial de Microsoft para más detalles.... | NTE_BAD_SIGNATURE (Firma inválida) | Relacionado con verificación de integridad, común en escenarios de Windows Update donde 0x80090005 indica problemas subyacentes en claves. |
| 0x80090016El código de error 0x80090016 en Windows indica que una clave criptográfica no está presente. Este problema suele surgir en operaciones relacionadas con BitLocker, certificados digitales o servicios de seguridad. To fix it, verifica la configuración del sistema, actualiza los controladores o reinicia los servicios afectados. Consulta la documentación oficial de Microsoft para más detalles.... | NTE_KEYSET_NOT_FOUND (Keyset no encontrado) | Directamente conectado, ya que 0x80090005 puede derivar de un keyset ausente o corrupto. |
| 0x80070005El error **0x80070005** es un problema común en sistemas Windows, generalmente relacionado con permisos insuficientes o problemas de acceso a archivos. Este código de error puede aparecer al intentar actualizar el sistema, instalar software o realizar copias de seguridad. Las causas incluyen configuraciones de seguridad restrictivas o corrupción de datos. Para solucionarlo, se recomienda ejecutar el programa como administrador, verificar los permisos de las carpetas involucradas o utilizar herramientas de... | E_ACCESSDENIED (Access denied) | From the FACILITY_WIN32 family, a menudo coexiste con 0x80090005 en casos de permisos insuficientes en operaciones criptográficas. |
| 0x80072F8F | Error de Windows Update relacionado con certificados | Indirectamente ligado, ya que problemas en CryptoAPI pueden escalar a errores de actualización, compartiendo causas como corrupción de claves. |
Estos errores comparten patrones comunes, como problemas en CryptoAPI, y su diagnóstico conjunto es esencial para resolver problemas sistémicos.
Historical Context
The error 0x80090005 tiene sus raíces en el desarrollo de CryptoAPI en Windows NT y ha evolucionado con las versiones posteriores de Windows. In Windows 7, este error era menos frecuente, limitándose principalmente a operaciones locales de criptografía, como en Outlook para el manejo de certificados de correo. However, con Windows 10 (introduced in 2015), su incidencia aumentó debido a la integración de servicios en la nube y la mejora de la seguridad, como Secure Boot y BitLocker, que dependen más de TPM y CNG.
In Windows 11, Microsoft ha refinado el manejo de errores HRESULT a través de actualizaciones como las de .NET FrameworkThe .NET Framework is a development platform created by Microsoft that allows the construction and execution of applications on Windows. Released in 2002, provides a robust and secure environment, facilitating the integration of different programming languages, like C# and VB.NET. Includes an extensive class library and an execution environment known as Common Language Runtime (CLR), que gestiona la ejecución de programas y la gestión de memoria.... y Windows SDK, introduciendo mejoras en el diagnóstico, como herramientas integradas en PowerShell 7.0+. For example, parches como KB5008212 han abordado vulnerabilidades que podrían generar 0x80090005, especialmente en entornos con TPM 2.0. Históricamente, desde Windows XP, este error se ha mantenido consistente en su definición, pero su contexto ha cambiado: en versiones legacy, era más asociado con CSPs tradicionales, mientras que en Windows 10/11, se extiende a CNG y APIs modernas.
Microsoft ha emitido varias actualizaciones para mitigar este error, como en las acumulaciones de seguridad de 2022, que mejoran la resiliencia de CryptoAPI ante corrupción. Para desarrolladores, la evolución se refleja en el SDK, donde herramientas como WinDbg han ganado funcionalidades para rastrear HRESULT en tiempo real.
References and Further Reading
- Microsoft Learn: System error codes: Documentación oficial sobre HRESULT y errores específicos como 0x80090005.
- Windows SDK documentation: CryptoAPI: Guía detallada sobre APIs afectadas y su implementación.
- Foro de soporte técnico de Microsoft: Discusiones de la comunidad sobre errores criptográficos en Windows 10 Y 11.
- Artículos de Microsoft Learn sobre CNG: Recursos para administradores sobre la próxima generación de criptografía.
- Guía de errores de Windows en TechNet: Análisis históricos y soluciones para errores como 0x80090005.
Para una exploración más profunda, It is recommended to consult these sources to keep the information up to date.



