Здравствуйте! Подскажите пожалуйста в чем причина!
Я подписал файл через Ezsigner. В своем приложении я получаю массив байтов этого файла и перевожу в base64 строку и извлекаю из этой строки байты, которые буду использовать в VerifyData() .
string base64Str = Convert.ToBase64String(fileDataBytes);
byte[] cms = Encoding.UTF8.GetBytes(base64Str);
int inCertID=1;
byte[] data= new byte[1];
kalkanFlag = (int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_SIGN_CMS |
(int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_IN_BASE64 |
(int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_OUT_BASE64 |
(int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_WITH_TIMESTAMP;
codeError = VerifyData("", kalkanFlag, ref data[0], data.Length, out cms [0], cms .Length, out outData[0], out outDataLen, out outVerifyInfo[0], out outVerifyInfoLen,inCertID, out outCert[0], out outCertLength);
После вызова метода мое приложение крашится и в оутпуте пишется следующее:
/usr/lib/libkalkanctyptwr-64.so: Undefined symbol: CMS_SignerInfo_get0_sgn
Но если взять пример из sdk , где можно подписать файл с помощью ncaLayer,тогда метод отрабатывает нормально.