Множественная подпись в kalkan

Добрый день!

Пытаюсь подписать cms сформированный первым подписантом тем же методом signData(kalkanCryptCOM), но проставляется только одна последняя подпись. В SignerInfos нет первого подписанта, только один последний. Может флаг нужно установить какой-то чтоб оба подписанта отображались при подписании?

Добрый день!

Вот пример на C#:

Пример

string outSign = “-----BEGIN CMS-----MIIF/gYJKoZIhvc…N+Fo=-----END CMS-----”;
int kalkanFlags = (int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_IN_PEM | (int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_OUT_PEM | (int)KalkanCryptCOMLib.KALKANCRYPTCOM_FLAGS.KC_SIGN_CMS;
KalkanCOMTest.SignData("", (int)kalkanFlags, “”, ref outSign);

Спасибо получилось.
Обязательно ли формат входящей подписи должен быть KC_IN_PEM?

Либо PEM, либо DER

С флагом KC_IN_BASE64 не получится использовать мультиподпись

Спасибо.
А если первая подпись с NCALayer, то вторую уже невозможно через kalkan добавить? так как NCA возвращает в base64?

Получится, но необходимо в переменной inData передать данные в BASE64. И указать флаг IN_BASE64.

Но это не будет мультиподпись?

Будет.
Просто это особенность COMa.
Один и тот же флаг используется для входных данных и для формата входной подписи.
Данный момент будет рассмотрен и возможно в будущем немного видоизменится эта картина

1 Симпатия