Что означает код HRESULT 0x80092022 (CRYPT_E_INVALID_IA5_STRING)?

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

CRYPT_E_INVALID_IA5_STRING

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

CRYPT_E_INVALID_IA5_STRING: CryptoAPI не может закодировать IA5String, потому что строка содержит символ за пределами 7-битного ASCII; IA5String часто используется для DNS, URI и старых email-полей сертификата.

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

  • Определите конкретный attribute/extension и исходное Unicode значение.
  • Для DNS имени используйте допустимое ASCII/punycode представление, а не произвольные Unicode символы внутри IA5String.
  • Не меняйте ASN.1 type на PrintableString только ради прохождения encoder: тип задаётся схемой расширения.

Что делать

Нормализуйте значение в формате, разрешённом тем полем сертификата, которое вы кодируете. Если протокол допускает Unicode, используйте предусмотренный для него string type или другое поле, а не повреждайте IA5String.

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


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