What does HRESULT 0x80091009 (CRYPT_E_ALREADY_DECRYPTED) mean?

 
Previous Next
CRYPT_E_INVALID_INDEX CRYPT_E_NOT_DECRYPTED

CRYPT_E_ALREADY_DECRYPTED

The message content was already decrypted, but the caller attempted an operation that expects the encrypted state.

What to check for CRYPT_E_ALREADY_DECRYPTED

  • Trace the message-handle lifecycle and ensure decryption is performed only once for that state.
  • Do not pass a previously decrypted payload back into a decrypt operation as though it were an enveloped CMS message.
  • Create a fresh message context when the application needs to process the original encrypted blob again.

Microsoft: CryptDecryptMessage

Microsoft: CryptMsgControl

Diagnostic interpretation

CRYPT_E_ALREADY_DECRYPTED has the HRESULT value 0x80091009. AllStat records the condition as “The content of the cryptographic message has already been decrypted.”.

Evidence to capture

  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions this result or the crypt / already / decrypted operation.
  • compare the failing machine with a working one at the same configuration boundary: component version, policy, registration, identity, and target resource.

Retry and recovery

” has changed.


Looking for a different code? Search another status or error code.