Статус: Новичок
Группы: Участники
Зарегистрирован: 14.01.2026(UTC) Сообщений: 2 
|
Добрый день! Возникла необходимость подписывать документы для отправки в Госключ с использованием СМЭВ3. По документации подходит подпись CAdES BES в кодировках base64 и DES. Пытаюсь использовать КриптоПро JCP 2.0.41940-A. Возникли следующие впоросы: 1) Код для создания и проверки подписи, по документации: Код:public void generateSign(MultipartFile file) {
JCPInit.initProviders(false);
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME, JCP.PROVIDER_NAME);
keyStore.load(null, null);
PrivateKey privateKey = (PrivateKey) keyStore.getKey("alias", "password".toCharArray());
Certificate[] certificateChain = keyStore.getCertificateChain("alias");
List<X509Certificate> certList = Arrays.stream(certificateChain)
.map(c -> (X509Certificate) c)
.toList();
CAdESSignature cadesSignature = new CAdESSignature(true);
cadesSignature.addSigner(
JCP.PROVIDER_NAME,
privateKey,
certList,
CAdES_BES,
null,
false
);
ByteArrayOutputStream signatureStream = new ByteArrayOutputStream();
cadesSignature.open(signatureStream);
cadesSignature.update(file.getBytes());
cadesSignature.close();
signatureStream.close();
byte[] cadesCms = signatureStream.toByteArray();
// Проверка
CAdESSignature checkedSignature = new CAdESSignature(cadesCms, file.getBytes(), CAdES_BES);
checkedSignature.verify(new HashSet<>(certList), null);
}
При проверке на вызове new CAdESSignature(cadesCms, file.getBytes(), CAdES_BES) падает в ошибку: java.lang.NoSuchMethodError: 'org.bouncycastle.asn1.ASN1Primitive org.bouncycastle.asn1.cms.Attribute.toASN1Object()'Либы bouncycastle использую из дистрибутива версии 1.60. В чём может быть причина? 2) Не совсем понимаю, как обеспечить кодировку base64. При создании подписи не вижу никаких параметров. Или подразумевается итоговый массив байт самоcтоятельно кодировать в base64? Буду рад любым советам...
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close