vladk1m0 / smevx-crypto

Библиотека формирования и проверки электронной подписи для СМЭВ 2.х и 3.х.
26 stars 12 forks source link
crypto jcp sign smev

Библиотека формирования и проверки электронной подписи для СМЭВ 2.х и 3.х.

Библиотека предназначена для создания и проверки ЭП СМЭВ 2.х и 3.х.

В соответствии с МР СМЭВ 2.х для сообщений сущест следующие виды ЭП:

В соответствии с МР СМЭВ 3.х для сообщений сущест следующие виды ЭП:

Проверить корректность ЭП в соответствии с МР можно с помощью тестовых сервисов СМЭВ:

1. Необходимое ПО

2. Установка КриптоПро JCP версии 2.х

3. Установка ключевых контейнеров

Возникавшие проблемы

Ошибки при установке версии из-за того, что не хватало прав записи файлов в:

Внятных сообщений об ошибке инсталлятор не выдает, выдает стек исключения с IOException. Кроме этого падал какой-то внутренний тест JCP, проверяющий корректность установки.

Действия при истечении лицензии:

4. Сборка библиотеки

Сборка осуществляется командой:

./gradlew clean build publishToMavenLocal

При сборке проекта выполнение тестов по-умолчанию выключено!

Для сборки проекта с тестами необходимо:
1 Установить тестовый ключевой контейнер КритпроПРО в сооветствии с п.3.
2 В файле ./src/test/java/ru/smevx/crypto/test/SignVerifyTest.java в строках

    privateKey = (PrivateKey) keyStore.getKey("Alias", "Password".toCharArray());
    cert = (X509Certificate) keyStore.getCertificate("Alias");

заменить значения Alias и Password на параметры доступа к тестовому ключевому контейнеру.

Сборка с выполнением тестов осуществляется командой:

./gradlew clean build test publishToMavenLocal

После сборки в директории ./build/libs должен появится файил smevx-crypto-<версия проекта>.jar.

Полезные ссылки по теме:

Форум КриптоПро
Apache CXF и ЭЦП для SOAP сообщений СМЭВ
Побег из Крипто Про. Режиссерская версия, СМЭВ-edition
СМЭВ 3. Электронная подпись сообщений на Java и КриптоПро