Установка модулей криптографии на сервере
Для работы криптопровайдеров требуется установить на сервере соответсвующие модули, загрузить которые можно из следующих источников:
- Bouncy Castle;
- КриптоПро:
После копирования JAR-файлов в каталог сервера перезапустите сервер.
Установка Bouncy Castle
Чтобы установить модули Bouncy Castle, выполните следующие действия:
- По ссылкам скачайте два файла:
- Поместите эти файлы в каталог lib/chassis/modules каталога исполняемых файлов сервера (W, L).
Примечание: Минимальная поддерживаемая версия — 1.60.
КриптоПро
Установка модулей КриптоПро:
Установка КриптоПро JCP
Чтобы установить модули КриптоПро JCP, выполните следующие действия:
- Перейдите по ссылке https://www.cryptopro.ru/products/csp/jcp и нажмите Загрузка файлов:
- Создайте учетную запись (вкладка Регистрация) или войдите под
своей учетной записью, если она у вас есть.Примечание: Демонстрационная версия КриптоПро JCP работает в течение 90 дней.
- Скачайте архив с самой новой сертифицированной версией КриптоПро JCP и JTLS для JVM:
- Распакуйте архив и следующие файлы скопируйте в каталог
lib/chassis/modules каталога исполняемых файлов сервера
(W, L):
- AdES-core.jar
- ASN1P.jar
- asn1rt.jar
- CAdES.jar
- cmsutil.jar
- cpSSL.jar
- forms_rt.jar
- J6CF.jar
- J6Oscar.jar
- JCP.jar
- JCPRequest.jar
- JCPRevCheck.jar
- JCPRevTools.jar
- JCPxml.jar
- JCryptoP.jar
- Rutoken.jar
- tls_proxy.jar
- XAdES.jar
Установка КриптоПро Java CSP
Чтобы установить модули КриптоПро Java CSP, выполните следующие действия:
- Перейдите по ссылке https://www.cryptopro.ru/products/csp/jcsp и нажмите Загрузка файлов:
- Создайте учетную запись (вкладка Регистрация) или войдите под
своей учетной записью, если она у вас есть.Примечание: Демонстрационная версия КриптоПро Java CSP работает в течение 90 дней.
- Скачайте архив с самой новой версией КриптоПро Java CSP и JTLS для JVM:
- Распакуйте архив и следующие файлы скопируйте в каталог
lib/chassis/modules каталога исполняемых файлов сервера
(W, L):
- AdES-core.jar
- ASN1P.jar
- asn1rt.jar
- CAdES.jar
- cmsutil.jar
- cpSSL.jar
- forms_rt.jar
- J6CF.jar
- J6Oscar.jar
- JCP.jar
- JCPRequest.jar
- JCPRevCheck.jar
- JCPRevTools.jar
- JCPxml.jar
- JCryptoP.jar
- JCSP.jar
- Rutoken.jar
- tls_proxy.jar
- XAdES.jar
Примечания
- При использовании одновременно JCP и Bouncy Castle рекомендуется брать модули Bouncy Castle из поставки JCP (можно найти в папке dependencies архива).
- По умолчанию хранилище КриптоПро у каждого пользователя ОС своё. Необходимо учитывать это при смене пользователя, от имени которого работает сервер, или при добавлении ключей и сертификатов вручную через утилиты КриптоПро:
Примеры для тестирования
Bouncy Castle:
метод Скрипт()
попытка
знч Генератор = новый ГенераторСертификата(АлгоритмАсимметричногоШифрования.Гост3410_2012)
Генератор.УстановитьАтрибутСубъекта(АтрибутX500.Имя, Сотрудник)
Генератор.УстановитьАтрибутСубъекта(АтрибутX500.Организация, "ООО Рога и Копыта")
Генератор.ДействителенПо = Момент.Сейчас() + 730д
знч Хранилище = новый ХранилищеPkcs12()
Хранилище.ДобавитьЗакрытыйКлюч(Сотрудник, Генератор.ЗакрытыйКлюч, Секрет, Генератор.СоздатьСертификат())
Консоль.Записать("PFX: " + Хранилище.ВБайты())
поймать Ошибка: ИсключениеКриптографии
Консоль.Записать("Ошибка: " + Ошибка);
;
КриптоПро:
метод Скрипт()
попытка
знч Данные = "Проверка подписи Крипто Про".ВБайты()
знч Криптопровайдер = Криптография.ПолучитьКриптоПро()
знч Хранилище = новый ХранилищеКриптоПро()
знч Ключ = Хранилище.НайтиЗакрытыйКлюч("Тест", "12345")
знч Сертификат = Хранилище.НайтиСертификат("Тест")
знч Вычислитель = новый ВычислительПодписи(Криптопровайдер, Сертификат, Ключ, "GOST3411_2012_256")
знч Подпись = Вычислитель.Подписать(Данные)
знч Верификатор = новый ВерификаторПодписи(Криптопровайдер, Подпись)
если не Верификатор.Проверить(Данные)
Консоль.Записать("Ошибка проверки подписи");
Консоль.Записать("Данные: " + Данные)
Консоль.Записать("Подпись: " + Подпись)
поймать Ошибка: ИсключениеКриптографии
Консоль.Записать("Ошибка: " + Ошибка);
;