Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2018(UTC) Сообщений: 71 ![Великобритания Великобритания](/forum2/Content/images/flags/GB.png) Откуда: London Сказал(а) «Спасибо»: 5 раз Поблагодарили: 1 раз в 1 постах
|
Да а pom файл я где возьму? Если уж вы создаете JCP которая наконецто не патчит джаву сделайте вменяемые средства для ее использования pom gradle описания например Отредактировано пользователем 30 ноября 2018 г. 9:37:07(UTC)
| Причина: Не указана
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил doubleside за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Не могли бы вы привести пример проекта, в котором не удается использовать jcp для четкого понимания, что требуется сделать? Я сделал так: 1) задача - создать и проверить CAdES-подпись, потребуется CAdES.jar; 2) с помощью maven-install-plugin:install-file установил в локальный репозиторий c:/Support/jcp-A/rep необходимые библиотеки: Код:
ades_a\ <-- AdES-core
asn1p_a\ <-- asn1rt
asn1rt_a\ <-- ASN1P
cades_a\ <-- CAdES
jcp_a\ <-- JCP
revcheck_a\ <-- JCPRevCheck
revtools_a\ <-- JCPRevTools
3) создал maven-проект (IDEA 2018, JDK 10), в pom.xml добавил секцию repository и dependenices: Код:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.cryptopro.test</groupId>
<artifactId>jcp_test</artifactId>
<version>1.0-SNAPSHOT</version>
<repositories>
<repository>
<id>localRepo_main</id>
<url>file://c:/Support/jcp-A/rep</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>jcp_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>asn1p_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>asn1rt_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>ades_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>cades_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>revcheck_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>ru.cryptopro</groupId>
<artifactId>revtools_a</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.50</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.50</version>
</dependency>
</dependencies>
</project>
4) сделал пример: Код:
import ru.CryptoPro.CAdES.CAdESSignature;
import ru.CryptoPro.CAdES.CAdESType;
import ru.CryptoPro.JCP.JCP;
import ru.CryptoPro.JCP.tools.Encoder;
import java.io.ByteArrayOutputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Collections;
public class MyTest {
public static void main(String... args) throws Exception {
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
PrivateKey privateKey = (PrivateKey) keyStore.getKey("container", null);
X509Certificate cert = (X509Certificate) keyStore.getCertificate("container");
CAdESSignature cAdESSignature = new CAdESSignature(false);
cAdESSignature.addSigner(
JCP.PROVIDER_NAME,
privateKey,
Collections.singletonList(cert),
CAdESType.CAdES_BES,
null,
false
);
ByteArrayOutputStream signatureStream = new ByteArrayOutputStream();
cAdESSignature.open(signatureStream);
cAdESSignature.update("test".getBytes());
cAdESSignature.close();
signatureStream.close();
byte[] sign = signatureStream.toByteArray();
Encoder encoder = new Encoder();
System.out.println("*** COMPLETE:\n" + encoder.encode(sign) + "\n");
cAdESSignature = new CAdESSignature(sign, null, null);
cAdESSignature.verify(Collections.singletonList(cert));
System.out.println("*** VERIFIED!");
}
}
4. Запустил пример: Код:
INFO: Loading JCP 2.0.40132-A
INFO: JCP loaded.
*** COMPLETE:
MIAGCSqGSIb3DQEHAqCAMIACAQExDDAKBgYqhQMCAgkFADCABgkqhkiG9w0BBwGggCSABAR0ZXN0
AAAAAAAAMYIBuTCCAbUCAQEwXjBXMQswCQYDVQQGEwJSVTEXMBUGA1UEChMOT09PIENyeXB0by1Q
cm8xFjAUBgNVBAsTDUNhZGVzIFRlc3RpbmcxFzAVBgNVBAMTDkNhZGVzVGVzdCBSb290AgMPQkIw
CgYGKoUDAgIJBQCggfcwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAvBgkqhkiG9w0BCQQxIgQg
7mcwNpbSBd3SsjY+jgG0txmagJV9lNdnjqrT/INMWicwgakGCyqGSIb3DQEJEAIvMYGZMIGWMIGT
MIGQMAgGBiqFAwICCQQg/P2uq3rWYJgM+Bjvk/IbdWtjiX4cMpDlX2AtBc0RdL4wYjBbpFkwVzEL
MAkGA1UEBhMCUlUxFzAVBgNVBAoTDk9PTyBDcnlwdG8tUHJvMRYwFAYDVQQLEw1DYWRlcyBUZXN0
aW5nMRcwFQYDVQQDEw5DYWRlc1Rlc3QgUm9vdAIDD0JCMAgGBiqFAwICEwRA4SebslzJUfe2BTou
e4ckPrHENJrSFMVhBnLoBhkjXDZHYM2qA1WEvU8Ce3+y6CHxZ5ulcasgO6TubSGuY53hmgAAAAAA
AA==
*** VERIFIED!
|
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,113
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 153 раз в 138 постах
|
Автор: doubleside ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) как это соотносится с джавой 11 криптопро 2.0а и мавеном? Как и всегда: "Должно быть. Точка". P.S. Не надо решать чужие проблемы, особенно - до их возникновения.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close