Что означает код HRESULT 0x80092024 (CRYPT_E_NOT_CHAR_STRING)?

 
Предыдущий Следующий
CRYPT_E_INVALID_X500_STRING CRYPT_E_FILERESIZED

CRYPT_E_NOT_CHAR_STRING

Что означает CRYPT_E_NOT_CHAR_STRING

CRYPT_E_NOT_CHAR_STRING: CERT_NAME_VALUE содержит dwValueType, который не является ожидаемым символьным типом; бинарные CERT_RDN_ENCODED_BLOB или OCTET_STRING нельзя обрабатывать как обычную null-terminated строку.

Что проверить

  • Запишите dwValueType до вызова функции преобразования имени.
  • Проверьте schema атрибута и реальное содержимое Value blob.
  • Для бинарного RDN используйте API и форматирование, рассчитанные на этот тип, вместо приведения указателя к wchar/string.

Что делать

Исправление — обрабатывать значение согласно его ASN.1/native типу. Простая перекодировка байтов в UTF-8 или UTF-16 не делает бинарный атрибут character string и может исказить сертификатное имя.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.