Как пропарсить CMS чтобы вытащить IIN (а также ошибка 0x08F0000E)

Здравствуйте. Подписываю pdf файл с помощью https://github.com/sigex-kz/ncalayer-js-client используя метод basicsSignCMS. Он возвращает ответ вида

-----BEGIN CMS-----
MIINKAYJKoZIhvcNAQcCoIINGTCCDRUCAQExDjAMBggqgw4DCgEDAwUAMAsGCSqG
SIb3DQEHAaCCBEEwggQ9MIIDpaADAgECAhRaq39b8WD4Z6GAVO9TLnsJxB8+1jAO
Bgoqgw4DCgEBAgMCBQAwWDFJMEcGA1UEAwxA0rDQm9Ci0KLQq9KaINCa0KPTmNCb

-----END CMS-----
Если декодировать base64 в utf-8, то получается ответ в непонятном формате, со сломанной кодировкой, но некоторую информацию типа "ҰЛТТЫҚ КУӘЛАНДЫРУШЫ ОРТАЛЫҚ (GOST) "
всё же получить можно.

Мне нужно вытащить данные о подписи из CMS (кто, когда и т.д.), может быть, я использую не ту кодировку или ещё что-то? Буду очень рад за ответ.

Так же я пытался проверить полученную подпись с помощью X509ValidateCertificate, однако получаю ответ 0x08F0000E “Не найден сертификат УЦ или сертификат пользователя при проверки цепочки”, хотя VerifyData проходит без проблем.

Добрый день!
В первую очередь Вам надо извлечь сертификат из подписи.
Для этого используйте метод GetCertFromCMS()

Затем для получения информации из сертификата воспользуйтесь методом X509CertificateGetInfo()
Передавая необходимый флаг Вы получите все нужные Вам данные.

Метод X509ValidateCertificate() - проверяет валидность сертификата (срок действия, статус отозванности по OCSP или CRL)

Добрый день! Подскажите, пожалуйста, в чем может быть проблема. Реализую аутентификацию для сервиса, делаю как вы написали, т.е. извлекаю сертификат из подписи с помощью KalkanCrypt_GetCertFromCMS(), получаю нужные данные методом KalkanCrypt_X509CertificateGetInfo(), потом отправляю на проверку извлеченный сертификат в KalkanCrypt_X509ValidateCertificate() для проверки через test.pki.gov.kz/ocsp/ и получаю ошибку “ERROR 0x8f0000e: Verify chain and certificates: - CA certificate not found”.