我正在使用 Windows 10(19041.867),并尝试使用 Mimikatz(2.2.0 20200918)导出证书导出向导标记为不可导出的私钥。
使用以下命令后:
crypto::capi
crypto::certificates /export
我在导出私钥时(XXX
出于隐私考虑)收到以下错误。我做错了什么吗?
0. XXX
Subject : XXX
Issuer : XXX
Serial : XXX
Algorithm: 1.2.840.113549.1.1.1 (RSA)
Validity : XXX
Hash SHA1: XXX
Key Container : XXX
Provider : Microsoft Strong Cryptographic Provider
Provider type : RSA_FULL (1)
ERROR kuhl_m_crypto_l_certificates ; CryptAcquireCertificatePrivateKey (0x80090016)
Public export : OK - 'CURRENT_USER_MY_1_MARICARMEN.der'
Private export : ERROR kull_m_crypto_exportPfx ; PFXExportCertStoreEx/kull_m_file_writeData (0x80090016)
答案1
我做错什么了吗?
除了“使用 Mimikatz 导出标记为不可导出的私钥”之外?没有(也不一定)。
0x80090016
是NTE_BAD_KEYSET
,这意味着虽然该证书被标记为具有私钥,但它所在的文件已被删除。
现在,您可以继续查找密钥文件被删除的原因,这通常是因为证书是从带有 .NET 的 PFX 加载的,而没有指定密钥文件的生存期应比证书对象长。(这可能是您编写的代码导致的,这也是为什么使用“否”的原因)