Получение сертификата из cms архива (PHP SDK Linux)

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

При помощи SDK функции “ZipConSign” осуществляется подпись архива, а “ZipConVerify” дает возможность осуществить проверку подписи электронных документов. Возникла необходимость получить дополнительные сведения о подписанном архиве. Для этого в SDK есть функция получения сертификата из CMS - “KalkanCrypt_getCertFromCMS”, а по сертификату получить необходимую информацию при помощи “KalkanCrypt_X509CertificateGetInfo”.

Дело в том, что ZipConSign не дает CMS (как в случае например с KalkanCrypt_SignData), из за этого мне не удается получить сертификат, а значит и сведения о подписанном архиве.

Скажите пожалуйста, такой возможности SDK не предусматривает или мной было понято что-то не так? Спасибо

Здравствуйте!
На данный момент нет такой возможности.

Но могу предложить альтернативу.
В сформированном архиве есть cms-подпись в META-INF. Вы можете извлечь эту подпись из архива и отправить в KalkanCrypt_getCertFromCMS.

Спасибо за ответ. Я извлек cms файл из архива, но при попытке просмотреть его содержимое, он оказался не читабельным (вид не такой как отдает KalkanCrypt_SignData). Все же я попытался содержимое зашифрованного cms отдать функции KalkanCrypt_getCertFromCMS, но функция не принимает такой формат cms

ERROR 0x8f0001e: Load CMS  error:0906D06C:PEM routines:PEM_read_bio:no start line
ERROR 0x00: Get certificate from CMS error:00000000:lib(0):func(0):reason(0) 

Использование:

KalkanCrypt_getCertFromCMS($cmsData, 1, 582, $outCert);

Флаги пробовал другие, но результат тот же

Необходимо CMS декодировать в BASE64. В KalkanCrypt таких средств нет, поэтому воспользуйтесь дополнительными.
После декодировки используйте флаг KC_IN_BASE64

Получилось, спасибо!