Приветствую, коллеги. Эта заметка пригодится тем, у кого сохранилось старое рабочее место с Континент-АП. При импорте открытого ключа абонентского пункта я получил системный код 0x8009310B. Сертификат не принимался, хотя файл был получен штатно.
Текст ошибки
Ошибка импорта открытого ключа абонентского пункта: 0x8009310B. Встречено неверное значение тега ASN1.
Ошибка появилась на Windows XP с Континент-АП 3.5.68.0 и КриптоПро CSP 3.6.7777. Эти версии давно устарели, поэтому ниже описываю именно тот случай, а не универсальный совет для современных рабочих мест.
Что означало сообщение ASN1
ASN.1 используется для описания структуры сертификатов и других криптографических данных. В моём случае клиент не смог разобрать полученный открытый ключ. Причиной оказался не ручной выбор хранилища и не пароль контейнера, а старая версия Континент-АП.
Как я проверил версию клиента
- Открыл сведения об установленной программе.
- Записал точный номер Континент-АП — 3.5.68.0.
- Сверил его с доступной для этого рабочего места веткой обновления.
- Не стал повторно импортировать один и тот же ключ в старый клиент.
Как я исправил ошибку 0x8009310B
Я установил более новую для той ветки версию Континент-АП 3.6.90 и повторил импорт. После обновления открытый ключ загрузился без ошибки ASN1.
Сейчас я бы не искал в интернете именно сборку 3.6.90 и тем более не ставил её на современную Windows. Правильное действие — взять у своего УФК актуальный дистрибутив, который разрешён для используемой операционной системы и криптопровайдера.
Когда эта заметка не подходит
Код 0x8009310B может встречаться и в других программах, работающих с сертификатами. Здесь подтверждён только импорт открытого ключа в старом Континент-АП. Если текст ошибки отличается, сначала сохраняю его полностью и проверяю этап, на котором он появился.
Для современных ошибок импорта у меня есть отдельный разбор случая с кавычками в имени сертификата.
Как я проверил результат
После обновления клиента импорт завершился, а прежний код больше не появился. Поэтому на старых рабочих местах с этой точной ошибкой я сначала смотрю номер Континент-АП, а не меняю вручную структуру сертификата.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.