Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline doubleside  
#11 Оставлено : 30 ноября 2018 г. 9:35:22(UTC)
doubleside

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.05.2018(UTC)
Сообщений: 71
Великобритания
Откуда: London

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Да а pom файл я где возьму? Если уж вы создаете JCP которая наконецто не патчит джаву сделайте вменяемые средства для ее использования

pom gradle описания например

Отредактировано пользователем 30 ноября 2018 г. 9:37:07(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил doubleside за этот пост.
codegen оставлено 27.11.2019(UTC)
Offline Евгений Афанасьев  
#12 Оставлено : 30 ноября 2018 г. 11:01:18(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Не могли бы вы привести пример проекта, в котором не удается использовать 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 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Санчир Момолдаев оставлено 14.12.2019(UTC)
Offline basid  
#13 Оставлено : 30 ноября 2018 г. 12:40:28(UTC)
basid

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.11.2010(UTC)
Сообщений: 1,037

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 140 раз в 126 постах
Автор: doubleside Перейти к цитате
как это соотносится с джавой 11 криптопро 2.0а и мавеном?
Как и всегда: "Должно быть. Точка".

P.S.
Не надо решать чужие проблемы, особенно - до их возникновения.

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.