Статус: Новичок
Группы: Участники
Зарегистрирован: 24.11.2016(UTC) Сообщений: 1 Откуда: Кемерово
|
Уважаемые коллеги, прошу помощи. Использую CAPICOM в Delphi для верификации отсоединенной ЭЦП и возникло три проблемы. Код проверки
strf := TFileStream.Create(fnameC, fmOpenRead); Pointer(str) := SysAllocStringByteLen(nil, strf.Size); strf.ReadBuffer(Pointer(str)^, strf.Size);
str_sig := TFileStream.Create(fnameS, fmOpenRead); Pointer(sigd) := SysAllocStringByteLen(nil, str_sig.Size); str_sig.ReadBuffer(Pointer(sigd)^, str_sig.Size);
SigDa.Content := str; SigDa.Verify(sigd, True, CAPICOM_VERIFY_SIGNATURE_ONLY);
Ну это понятно, считываются два файла, сам документ и его подпись и идет проверка. Если подпись зашифрована в BASE64 происходит ошибка, встречено неверное значение ANS1, DER подпись проходит валидность. 1. Как определить формат подписи, зашифрована ли она в BASE64 и как конвертнуть подпись в бинарный вид, чтобы проверка прошла. Спасибо
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,168   Сказал «Спасибо»: 618 раз Поблагодарили: 2391 раз в 1880 постах
|
Здравствуйте.
1. base64 это не шифрование. 2. прочитать строку и проанализировать посимвольно, в base64 явно указано, что там может быть.
|
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close