Проверка подписи. С#

Здравствуйте.
У меня не получается провести проверку подписи.
Последовательность следующая:
Init();
LoadKeyStore(1, “Qwerty12”, “C:\cert\AUTH_RSA256_d682726b55b3e62600ea8fe1c74e75fc96f47790.p12”, adress);
kalkanFlags = (int)KALKANCRYPTCOM_FLAGS.KC_IN_BASE64;
kalkanFlags = kalkanFlags | (int)KALKANCRYPTCOM_FLAGS.KC_OUT_BASE64;
kalkanFlags = kalkanFlags | (int)KALKANCRYPTCOM_FLAGS.KC_SIGN_CMS;
kalkanFlags = kalkanFlags | (int)KALKANCRYPTCOM_FLAGS.KC_WITH_TIMESTAMP;
SignData("", (int)kalkanFlags, textBox1.Text, ref outSign);
VerifyData(" ", (int)kalkanFlags, 0, textBox1.Text, outSign, out outData, out outVerifyInfo, out outCert);

Error: 0x08F00040

Добрый день!

  1. Так как Вы подписываете со штампом времени, то необходимо указать адрес TSP.
    Init();
    KC_TSASetUrl(“http://tsp.pki.gov.kz:80”);
    LoadKeyStore(…

  2. Ошибка 0x08F00040 говорит о том, что Вы не установили корневые сертификаты. Тестовые корневые есть в SDK.

Со штампом времени ни каких проблем нету я успешно получаю время через TSAGetTimeFromSig. А вот сертификаты не работают, не могли бы вы написать конкретное имя сертификата и где находится в SDK пожалуйста. Я пробовал различные сертификаты и тестовые и боевые, но ни один не работает.

Еще такой момент когда пытаюсь получить список сертификатов через функцию GetCertAliases, показывает 40 сертификатов но вместо строки сертификатов получаю �V$��.

Корневые сертификаты находятся SDK 2.0\Keys and Certs\CA CERTS
Для работы с тестовыми сертификатами необходимо установить тестовые корневые.

Данная функция используется для получения списка сертификатов на токене. Посмотрите пример на C#, там все это указано.

Спасибо разобрался. Оказалось сертификаты не определялись как доверенные и неизвестно куда ставились.