Código de error de Windows 0x80090005
O código de erro 0x80090005 es un código HRESULT standard en los sistemas operativos Windows 10 e 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 associa principalmente con el subsistema de Criptografía de Windows (CryptoAPI) y los proveedores de servicios criptográficos (CSPs), que são componentes-chave para o manuseamento de chaves, certificados y criptografiaA criptografia é um processo fundamental na segurança da informação que transforma dados legíveis em um formato ilegível., conhecido como texto cifrado. Este método utiliza algoritmos e chaves criptográficas para proteger a confidencialidade das informações, garantindo que apenas pessoas autorizadas possam acessá-lo. É amplamente utilizado em diversas aplicações, como comunicações digitais, transações financeiras e armazenamento de dados. À medida que as ameaças cibernéticas evoluem,... en aplicações como atualização do WindowsAs atualizações do Windows são componentes essenciais para a manutenção e segurança dos sistemas operacionais Microsoft. Através do Windows Update, os usuários recebem melhorias de desempenho, patches de segurança e novos recursos. Recomenda-se que os usuários mantenham esta opção ativada para garantir proteção contra vulnerabilidades e otimizar o funcionamento do sistema. As atualizações são baixadas e instaladas automaticamente, embora também seja possível configurá-los manualmente.., servicios de autenticación y procesos de seguridad. Su relevancia radica en que puede interrumpir operaciones críticas de sistema, Como a instalação de atualizações, el acceso a recursos protegidos o la ejecución de aplicações que dependen de la integridad criptográfica, lo que puede comprometer la estabilidad y la seguridad del sistema.
Introdução
O código de erro 0x80090005, conhecido como NTE_BAD_KEYSET, se origina en el framework de erros HRESULT de Microsoft, que se utiliza para reportar falls en operaciones de software, especialmente en contextos de programación y servicios del sistema. En el ámbito de Windows 10 e 11, este erro é particularmente relevante devido à crescente dependência de funcionalidades de segurança avançadas, como la encriptación de datos, la gestión de certificados y la integración con servicios en la nube. Por exemplo, pode aparecer durante processos de Windows Update al tentar verificar firmas digitales, en operações de Microsoft Edge o en aplicações que utilizan la API CryptoAPI para manejar claves privadas o públicas.
El error se manifiesta en escenarios comunes como la configuración de cuentas de usuario, la instalación de software firmado digitalmente o la resolución de problemas de red que involucran autenticación. A sua importância para administradores de sistemas e desenvolvedores reside no facto de indicar potenciais vulnerabilidades na infraestrutura criptográfica, que poderiam ser exploradas por ameaças externas. No Windows 11, com o seu enfoque na segurança reforçada através de características como Secure Boot e TPM (Módulo de plataforma confiável), este erro pode surgir com mais frequência em ambientes empresariais onde se manipulam dados sensíveis. Historicamente, embora presente desde versões anteriores como o Windows 7, su incidência ha aumentado con la adopción de Windows 10 e 11 devido à complexidade crescente dos ecossistemas de aplicações e serviços na cloud.
Para utilizadores avançados, compreender 0x80090005 implica reconhecer o seu papel no ecossistema de erros HRESULT, que facilita o diagnóstico preciso em ambientes de desenvolvimento. Este erro não afeta apenas componentes nativos do Windows, mas também a aplicações de terceiros que interagem com APIs como CryptAcquireContext ou CryptGenKey, o que o torna um indicador-chave de problemas subjacentes na gestão de chaves criptográficas.
Detalles Técnicos
O código de erro 0x80090005 faz parte da estrutura HRESULT, un formato estandarizado en Windows para representar resultados de operaciones, definido na documentação do Windows SDKUm Kit de Desenvolvimento de Software (SDK) é um conjunto de ferramentas e recursos que permitem aos programadores criar aplicações para uma plataforma específica. Geralmente, um SDK inclui bibliotecas, documentação, exemplos de código e ferramentas de depuração. O seu objetivo é simplificar o processo de desenvolvimento ao fornecer componentes reutilizáveis e facilitar a integração de funcionalidades. Os SDKs são fundamentais no desenvolvimento de software moderno, uma vez que permitem.... Mais. Un HRESULT es un valor de 32 bits que se compõe de vários elementos: o bit mais significativo indica o severidad (0 para éxito, 1 para fallo), los bits 16-26 representam o código de instalação (facility code), e os bits inferiores 16 bits contêm o código de error específico. No caso de 0x80090005, descompõe-se da seguinte forma:
- Severidade: El bit alto (8 em hexadecimal) indica um erro (FAILURE), o que significa que a operação não foi concluída com sucesso.
- Código de Facilidades: 0x900 (equivalente a 2304 em decimal), que corresponde a FACILITY_SECURITY ou mais especificamente a subinstalações relacionadas com CryptoAPI e SSPI (Interface de Suporte de Segurança (Security Support Provider Interface)). Isto liga-o diretamente a componentes de segurança como o serviço Cryptographic Services.
- Código Específico: 0x0005, que se traduz em NTE_BAD_KEYSET, um erro definido no ficheiro winerror.h do SDK do Windows, indicando que o conjunto de chaves criptográficas é inválido ou inacessível.
Tecnicamente, este error se genera cuando las APIs de CryptoAPI, O que CryptAcquireContext o CryptGetKeySetParam, intentan acceder a un contenedor de claves (keyset) que está corrupto, mal configurado o con permisos insuficientes. Estas APIs forman parte del proveedor de servicios criptográficos (CSP), que no Windows 10 e 11 puede incluir módulos como CNG (Cryptography Next Generation) o el antiguo CSP basado en RSA. Por exemplo, en un contexto de desarrollo, un desarrollador podría encontrar este error al invocar funciones como:
HRESULT hr = CryptAcquireContext(&hProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, 0);
if (FAILED(hr)) {
// hr podría ser 0x80090005
}
Os processos afetados incluem serviços como svchost.exe (que aloja CryptSvc), lsass.exe (para autenticação) y aplicaciones que dependen de certificados, como Microsoft Store o actualizaciones de Windows. Dependências chave incluem o Registo do Windows (donde se almacenan configuraciones de claves), o armazenamento de certificados (Certificate Store) y componentes de hardware como TPM en Windows 11. Em ambientes de produção, este error puede propagarse a través de dependencias interprocesos, como cuando un servicio de Windows Update consulta claves para verificar integridad.
Para un análisis más profundo, los administradores pueden usar herramientas como el depurador de Windows (WinDbg) para inspeccionar el fluxo HRESULT, o consultar la documentación de Microsoft Learn sobre erros del sistema, donde se detallan las constantes como NTE_BAD_KEYSET (definida como 0x80090005 en winerror.h).
Causas Comunes
Las causas del error 0x80090005 suelen estar relacionadas con problemas en la gestión de recursos criptográficos, e podem variar conforme a configuração do sistema. A seguir, detalham-se as causas mais frequentes, con ejemplos para ilustrar escenarios reais:
-
Corrupción de contenedores de claves: Uno de los motivos más comunes es la corrupción en el almacén de claves criptográficas, que pode acontecer devido a falhas no disco duro, interrupciones durante operações de escritura o conflitos con software antivirus. Por exemplo, si un utilizador intenta acceder a um certificado na Certificate Store y o keyset asociado está dañado, el error se ativa durante la llamada a CryptAPI.
-
Problemas de permisos y acessos: En configuraciones multiutilizadorO termo "multiutilizador" refere-se a sistemas ou aplicações que permitem a interação simultânea de múltiplos utilizadores. Este conceito é fundamental na área da informática, onde plataformas como bases de dados, sistemas operativos e software de colaboração facilitam o trabalho conjunto. A principal característica de um ambiente multiutilizador é a capacidade de partilhar recursos e dados, lo que mejora la eficiencia y fomenta la cooperación. Porém, también... o dominios Active DirectoryActive Directory (ANÚNCIO) É um serviço de diretório desenvolvido pela Microsoft que permite gerenciar e organizar recursos em uma rede. Facilita a autenticação e autorização de usuários e equipamentos, Oferecendo uma estrutura para a administração centralizada de políticas de segurança e acesso. AD usa uma estrutura hierárquica que inclui domínios, árvores e florestas, que fornece escalabilidade eficiente. O que mais, permite a implementação de polies de grupo, Eles ajudam ..., permisos insuficientes en el Registo (por exemplo, en claves bajo HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography) podem gerar este erro. Un escenario típico é quando un processo no tiene los derechos necesarios (como SeManageVolumePrivilege) para ler o escribir en el keyset, lo que es común en entornos con políticas de seguridad estrictas.
-
Conflictos con software o drivers: Actualizaciones fallidas de Windows o la instalação de software de terceros que modifica archivos criptográficos (como drivers de TPM o CSPs personalizados) puede causar incompatibilidades. Por exemplo, si un antivirus interfiere com el servicio CryptSvc, las operaciones criptográficas fallan, generando 0x80090005.
-
Problemas de hardware o firmware: No Windows 11, donde el TPM es obrigatório para certas funções, Um TPM defeituoso ou com firmware desatualizado pode resultar neste erro durante processos de arranque seguro ou encriptação de BitLockerBitLocker é uma ferramenta completa de criptografia de disco desenvolvida pela Microsoft, Disponível nas versões profissional e empresarial do sistema operacional Windows. Seu principal objetivo é proteger as informações armazenadas em discos rígidos e unidades removíveis por meio da criptografia de dados., para que apenas usuários autorizados possam acessá-los. O BitLocker usa algoritmos de criptografia avançados e pode ser integrado ao módulo de plataforma confiável (TPM) para melhorar..... Um exemplo é quando o sistema não consegue aceder ao conjunto de chaves armazenado no TPM devido a um erro de hardware.
-
Configurações incorretas no Registo ou políticas de grupo: Modificaciones manuales en el Registro, como alterar valores em HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders, podem desestabilizar o CSP, especialmente se entradas relacionadas com chaves mestras forem eliminadas acidentalmente.
-
Atualizações pendentes ou conflitos de versões: No Windows 10 e 11, se houver atualizações de segurança pendentes que afetem o CryptoAPI (como patches KBxxxx), o erro pode surgir durante a verificação de assinaturas. Por exemplo, num sistema com o Windows Update desativado, as chaves criptográficas podem ficar obsoletas.
Estas causas não são mutuamente exclusivas e frequentemente se combinam, requiring a diagnóstico exaustivo para identificar o fator principal.
Pasos de Resolución
La resolución del error 0x80090005 requer uma abordagem sistemática, utilizando herramientas de linha de comandoA linha de comando é uma interface textual que permite aos usuários interagir com o sistema operacional usando comandos escritos.. Ao contrário das interfaces gráficas, onde ícones e menus são usados, A linha de comando fornece acesso direto e eficiente a várias funções do sistema. É amplamente utilizado por desenvolvedores e administradores de sistema para realizar tarefas como gerenciamento de arquivos, configuração de rede e.... y ediciones de Registro para usuarios avanzados. Es crucial seguir estas etapas con precaución, uma vez que operações como editar o Registo podem provocar instabilidade se não forem realizadas corretamente. Faça sempre cópias de segurança e execute comandos num ambiente de teste antes de os aplicar em produção.
-
Verificación inicial y diagnóstico: Inicie executando el Verificador de arquivos do sistema (SFC) para detetar corrupção em ficheiros do sistema. Abra uma linha de comandos elevada e execute:
sfc /scannowIsto irá analisar e reparar ficheiros protegidos. Si se detectan problemas, prossiga para DISM para restaurar la imagen del sistema:
DISM /Online /Cleanup-Image /RestoreHealth -
Reparação de serviços criptográficos: Reinicie o serviço Cryptographic Services através de PowerShellPowerShell é uma ferramenta de gerenciamento e automação de configuração desenvolvida pela Microsoft.. Permite que administradores de sistema e desenvolvedores executem comandos e scripts para realizar tarefas de administração em sistemas operacionais Windows e outros ambientes. Sua sintaxe baseada em objetos facilita a manipulação de dados, tornando-o uma opção poderosa para gerenciamento de sistemas. O que mais, PowerShell possui uma extensa biblioteca de cmdlets, Então... ou CMD. No PowerShell, use:
Get-Service -Name CryptSvc | Restart-ServicePara un diagnóstico más profundo, ejecute certutil para verificar e reparar o repositório de certificados:
certutil -storeSe forem identificados keysets corruptos, elimine e gere novamente com:
certutil -delstore "My" "NombreDelCertificado" -
Edições no Registo: Acceda al Editor de inscriçãoo "Editor de registro" É uma ferramenta fundamental em sistemas operacionais como Windows, que permite aos usuários modificar o banco de dados do registro. Este banco de dados armazena configurações essenciais do sistema e do aplicativo, e sua edição pode permitir otimizar o desempenho do equipamento ou corrigir problemas funcionais. Porém, É importante usar esta ferramenta com cautela, ya que cambios incorrectos podem provocar fallos no sistema.... (regedit.exe) y navegue a HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptography. Verifique y corrija permisos en subclaves como "Providers". Por exemplo, certifique-se de que o utilizador tem direitos de leitura/escrita. Risco: Qualquer erro aqui poderia tornar o sistema inoperável; use scripts de PowerShell para automatizar, O que:
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftCryptography" -Name "SomeKey" -Value "CorrectValue" -Type StringMelhor prática: Exporte a chave antes de modificar.
-
Uso de ferramentas avançadas: Si el error persiste, utilice Scripts PowerShell para redefinir CSPs. Exemplo:
$keyPath = "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNEL" Remove-ItemProperty -Path $keyPath -Name "Protocols" -ErrorAction SilentlyContinuePara problemas de TPM no Windows 11, ejecute:
tpm.msce reinicie o módulo.
-
Verificación de hardware y actualizaciones: Atualize o firmware do TPM através da ferramenta da Microsoft e execute o Windows Update para instalar patches relevantes. Se o erro se dever a drivers, use pnputil para gerir componentes.
Lembre-se de documentar cada passo e monitorizar logs no Event Viewer para evitar recorrências.
Erros Relacionados
O erro 0x80090005 faz parte da família de códigos HRESULT relacionados com criptografia e segurança, especificamente aqueles com facility code 0x900 (FACILITY_SECURITY). A seguir, una tabla con errores relacionados y sus conexiones:
| Código de Erro | Descrição | Conexão com 0x80090005 |
|---|---|---|
| 0x80090001 | NTE_BAD_UID (Identificador de utilizador inválido) | Semelhante, ocorre em acessos a keysets; frequentemente precede 0x80090005 em sequências de erros criptográficos. |
| 0x80090006O código de erro 0x80090006 no Windows indica que um conjunto de chaves criptográficas não está definido (NTE_BAD_KEYSET). Comumente surge em operações como BitLocker ou certificados digitais, devido a chaves em falta ou problemas de configuração. Para resolverlo, verifica a disponibilidade das chaves e reinicia os serviços relacionados. Consulta la documentación oficial de Microsoft para más detalles.... | NTE_BAD_SIGNATURE (Firma inválida) | Relacionado com verificação de integridade, 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 operações relacionadas con BitLocker, certificados digitales o servicios de seguridad. Para resolverlo, 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 acesso 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 resolver o problema, se recomienda ejecutar el programa como administrador, verificar los permisos de las carpetas involucradas o utilizar herramientas de... | E_ACCESSDENIED (Acesso negado) | De la familia FACILITY_WIN32, 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. |
Estes erros partilham padrões comuns, como problemas no CryptoAPI, y su diagnóstico conjunto es esencial para resolver problemas sistémicos.
Contexto Histórico
O erro 0x80090005 tiene sus raíces en el desarrollo de CryptoAPI en Windows NT y ha evolucionado con las versiones posteriores de Windows. No 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. Porém, con Windows 10 (introduzido em 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.
No Windows 11, Microsoft ha refinado el manejo de errores HRESULT a través de actualizaciones como las de .Estrutura NETO .NET Framework é uma plataforma de desenvolvimento criada pela Microsoft que permite a construção e execução de aplicações em Windows. Lançado em 2002, fornece um ambiente robusto e seguro, facilitando a integração de diferentes linguagens de programação, como C# e VB.NET. Inclui uma extensa biblioteca de classes e um ambiente de execução conhecido como Common Language Runtime (CLR), que gere a execução de programas e a gestão de memória.... y Windows SDK, introduciendo mejoras en el diagnóstico, como herramientas integradas en PowerShell 7.0+. Por exemplo, parches como KB5008212 han abordado vulnerabilidades que podrían generar 0x80090005, especialmente en entornos con TPM 2.0. Historicamente, 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 melhoran 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.
Referências e Leitura Adicional
- Microsoft Learn: Códigos de error del sistema: Documentación oficial sobre HRESULT y errores específicos como 0x80090005.
- Documentação do SDK do Windows: CryptoAPI: Guía detallada sobre APIs afectadas y su implementación.
- Foro de soporte técnico de Microsoft: Discusiones de la comunidad sobre erros criptográficos en Windows 10 e 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 erros como 0x80090005.
Para uma exploração mais profunda, se recomenda consultar estas fontes para manter a informação atualizada.



