Статус: Новичок
Группы: Участники
Зарегистрирован: 25.08.2022(UTC) Сообщений: 6
|
Добрый день. Помогите пожалуйста разобраться в следующей проблеме. #1. Есть простая java программа которая использует jcp 2.0 для формирования подписи, код которой частично взят из дистрибутива jcp samples-sources/CMS_samples/CMSSign.javaСоздаются два вида подписи: Код:final Signature signature = Signature.getInstance(signOid, JCP.PROVIDER_NAME);
byte[] sign;
signature.initSign(pk);
signature.update(content.getBytes());
sign = signature.sign();
Код:String digestOid = AlgorithmUtility.keyAlgToDigestOid(keyAlg);
final ByteArrayInputStream stream = new ByteArrayInputStream(content.getBytes());
final MessageDigest digest = MessageDigest.getInstance(digestOid, JCP.PROVIDER_NAME);
final DigestInputStream digestStream = new DigestInputStream(stream, digest);
while (digestStream.available() != 0) digestStream.read();
digest.digest();
#2. При этом есть вызов консольной утилиты cryptcp Код:./cryptcp -sign -detached -nochain -dn OGRN=123456 -der ${FILE} ${FILE}.sig
которая формирует на выходе файл ${FILE}.sig с подписью в формате base64. Проблема в том что подпись получаемая из java кода(#1) не совпадает с подписью получаемой при вызове cryptcp(#2) Что необходимо изменить в java коде чтобы подписи совпадали?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,192 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
Добрый день!
1) тут формируется RawSignature (сырая подпись), длинной 64 или 128 байт 2) тут формируется cms подпись.
т.е. в java либо полностью реализуете низкоуровневый пример, где происходит низкоуровневая сборка cms и куда вставляют значение подписи. либо используете высокоуровневый класс CAdESSignature |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 25.08.2022(UTC) Сообщений: 6
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close