Статус: Участник
Группы: Участники
Зарегистрирован: 19.09.2021(UTC) Сообщений: 16
|
Доброго времени суток. Пытаюсь создать подпись следующим образом:
List<X509Certificate> certChain = new ArrayList<X509Certificate>(); Certificate cert = CryptoUtils.getCertFromStringBase64(jcpConfig.getCertB64()); certChain.add((X509Certificate) cert);
if (jcpConfig.getIssuerCertB64() != null && !jcpConfig.getIssuerCertB64().equalsIgnoreCase("")) { Certificate issuerCert = CryptoUtils.getCertFromStringBase64(jcpConfig.getIssuerCertB64()); certChain.add((X509Certificate) issuerCert); }
PrivateKey key = null; KeyStore keyStore = null; try { keyStore = KeyStore.getInstance("FloppyStore"); keyStore.load(null, null);
key = (PrivateKey) keyStore.getKey("jcp3cont", "123".toCharArray()); } catch (Exception e) { e.printStackTrace(); }
byte[] cms; try { CAdESSignature cadesSign = new CAdESSignature(true); cadesSign.addSigner(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_2012_256_OID, JCP.GOST_PARAMS_EXC_2012_256_KEY_OID, key, certChain, CAdESType.CAdES_BES, null, false);
ByteArrayOutputStream signatureStream = new ByteArrayOutputStream(); cadesSign.open(signatureStream); cadesSign.update(data); cadesSign.close(); signatureStream.close(); cms = signatureStream.toByteArray();
При выполнении cadesSign.addSigner() получаю ошибку:
at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NoClassDefFoundError: ru/CryptoPro/reprov/AndroidExtKeyUsageCertPathChecker at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source) at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source) at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source) at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source) at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source) at ru.CryptoPro.CAdES.cl_1.addSigner(Unknown Source) at ru.it.lecm.jcpsigning.beans.JCPSigningServiceImpl.signByte2(JCPSigningServiceImpl.java:154) at ru.it.lecm.jcpsigning.beans.JCPSigningServiceImpl.doSmth(JCPSigningServiceImpl.java:178) at ru.blogic.lecm.lkuzedo.scripts.ExtractContentMetadata.execute(ExtractContentMetadata.java:84) at org.alfresco.repo.web.scripts.RepositoryContainer$3.execute(RepositoryContainer.java:527) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450) ... 37 more Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.reprov.AndroidExtKeyUsageCertPathChecker at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ... 48 more
С чем может быть связана данная ошибка? И что это за класс AndroidExtKeyUsageCertPathChecker? Про него никакой информации не нашел Видел похожие ошибки, где фигурировало at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source), там решением была установка корневого сертификата в cacerts, этот шаг уже проделал
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. Библиотека JCPRevCheck подключена к проекту? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.09.2021(UTC) Сообщений: 16
|
Автор: Евгений Афанасьев Здравствуйте. Библиотека JCPRevCheck подключена к проекту? Боюсь, что нет. Подскажите, пожалуйста, как ее подключить? И откуда скачать Отредактировано пользователем 19 сентября 2021 г. 21:03:23(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
JCPRevCheck.jar есть в составе дистрибутива. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.09.2021(UTC) Сообщений: 16
|
Автор: Евгений Афанасьев JCPRevCheck.jar есть в составе дистрибутива. Данная ошибка ушла, спасибо. Однако появилась новая: Caused by: Error building certification path for the target, sn: 120058c316c3051a78ae234fce00010058c316, subject: CN=jcp4, issuer: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru : java.security.NoSuchProviderException: no such provider: RevCheck; error codes: [33] 'PKIX failure: invalid parameters of certificate', at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source) at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source) ... 46 more Вызов Security.addProvider(new RevCheck()); приводит к следующей ошибке: Caused by: java.lang.NoSuchFieldError: PRODUCT_VERSION at ru.CryptoPro.reprov.RevCheck.<init>(Unknown Source) Отредактировано пользователем 19 сентября 2021 г. 21:59:58(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Какой дистрибутив jcp используется? Java 8 или 10+? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.09.2021(UTC) Сообщений: 16
|
Используется jcp-2.0.40035 для java11 C вышеуказанной ошибкой удалось справиться, добавил в проект версию JCP.jar из дистрибутива теперь получаю ошибку при попытке достать приватный ключ из хранилища: java.security.ProviderException: Ошибка при проверке лицензии at ru.CryptoPro.JCP.KeyStore.cl_4.m(Unknown Source) at ru.CryptoPro.JCP.KeyStore.cl_4.a(Unknown Source) at ru.CryptoPro.JCP.KeyStore.ContainerStore.a(Unknown Source) at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source) at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source) at java.base/java.security.KeyStore.getKey(KeyStore.java:1057) о какой лицензии идет речь? до этого использовался JCP.jar версии 5.0.39267, там ключ доставался без этой ошибки Отредактировано пользователем 20 сентября 2021 г. 7:42:35(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.09.2021(UTC) Сообщений: 16
|
Автор: Евгений Афанасьев Спасибо за консультацию. Подпись удалось сформировать Отредактировано пользователем 20 сентября 2021 г. 18:25:13(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close