=== Скрипты для операций с ключами и сертификатами с помощью утилиты keytool ===

% Поведение keytool по части установки сертификатов, паролей может различаться в некоторых версиях JDK 8.
% Во всех случаях, где в примерах присутствует генерация запроса на сертификат, перед установкой (импортом) сертификат должен быть выпущен в УЦ (тестовый УЦ - https://cryptopro.ru/certsrv/) и сохранен в составе цепочки сертификатов с расширением p7b (DER).
% Установка (импорт) сертификатов с помощью keytool возможна, только если они сохранены в виде цепочки сертификатов с расширением p7b (DER).
% Примеры содержат команды для keytool и иногда jarsigner.
% В примерах есть ключевые контейнеры с паролем и без пароля. В этих случаях операции копирования ключей несколько отличаются.
% В некоторых примерах используется пустое хранилище trust_for_jar_signer, т.к. для определенных операций требуется поток ввода из хранилища.
% В примерах преимущественно рассматриваются команды с установленным JCP/Java CSP в JDK 8.
% Класс SendRequestToMSCA.class отправляет сформированный запрос (BASE64) в тестовый УЦ http://testca.cryptopro.ru/certsrv/, после получения сертификата образует цепочку с ним и корневым сертификатом test_ca.cer и сохраняет ее в файл с расширением p7b.

*nix OS

* linux/ktl8-java-csp-hd-28147.sh - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме 28147/Кузнечик/Магма, копирование ключевого контейнера с помощью установленного провайдера Java CSP, JDK 8.

Mac OS

* mac/ktl11-java-csp-hd-28147.sh - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме 28147/Кузнечик/Магма, копирование ключевого контейнера с помощью провайдера Java CSP, JDK 10+.
* mac/ktl8-java-csp-hd-28147.sh - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме 28147/Кузнечик/Магма, копирование ключевого контейнера с помощью установленного провайдера Java CSP, JDK 8.

Windows OS

* windows/jsg8-java-csp-hd-rsa.bat - подпись jar-файла ключом на алгоритме RSA без пароля с помощью установленного провайдера Java CSP, JDK 8.
* windows/jsg8-java-csp-hsm-rsa.bat - подпись apk-файла ключом без пароля на алгоритме RSA с помощью установленного провайдера Java CSP RSA, хранилище HSMDB, JDK 8. В алиасе используется имя CSP провайдера.
* windows/ktl8-java-csp-copy-hd-hsm.bat - копирование ключевого контейнера с ключом на алгоритме RSA из HDIMAGE в HSMDB с помощью установленного провайдера Java CSP RSA, JDK 8.
* windows/ktl8-java-csp-hd.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере ключа на алгоритме ГОСТ 2001, копирование ключевого контейнера, генерация запроса на сертификат, экспорт/импорт сертификата, смена пароля, подпись jar с помощью установленного провайдера Java CSP, JDK 8. В алиасе используется имя CSP провайдера.
 windows/ktl8-java-csp-hd-28147.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме 28147/Кузнечик/Магма, копирование ключевого контейнера с помощью установленного провайдера Java CSP, JDK 8.
* windows/ktl8-java-csp-hd-3des.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме 3DES, копирование ключевого контейнера с помощью установленного провайдера Java CSP RSA, JDK 8.
* windows/ktl8-java-csp-hd-aes128.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере симметричного ключа на алгоритме AES, копирование ключевого контейнера с помощью установленного провайдера Java CSP RSA, JDK 8.
* windows/ktl8-java-csp-hd-all.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере ключа на алгоритме ГОСТ 2012, копирование ключевого контейнера, генерация запроса на сертификат, экспорт/импорт сертификата, смена пароля с помощью установленного провайдера Java CSP, JDK 8.
* windows/ktl8-java-csp-hd-req.bat - генерация запроса на сертификат, импорт/экспорт сертификата подпись jar с помощью установленного провайдера Java CSP, JDK 8. В алиасе используется имя CSP провайдера.
* windows/ktl8-java-csp-hsm-gen.bat - генерация в ключевом контейнере ключа на алгоритме RSA, генерация запроса на сертификат, экспорт/импорт сертификата, подпись jar с помощью установленного провайдера Java CSP RSA, хранилище HSMDB, JDK 8.
* windows/ktl8-java-csp-hsm-rsa.bat и windows/ktl8-java-csp-hsm-rsa-2.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере ключа (с паролем и без пароля) на алгоритме RSA, копирование ключевого контейнера, генерация запроса на сертификат, экспорт/импорт сертификата, смена пароля, подпись jar с помощью установленного провайдера Java CSP RSA, хранилище HSMDB, JDK 8.
* windows/ktl8-java-csp-jks-rsa.bat - импорт ключа на алгоритме RSA из JKS (созданного Sun) в HSMDB, подпись jar с помощью установленного провайдера Java CSP RSA, JDK 8.
* windows/ktl8-java-csp-rg-rsa.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере ключа на алгоритме RSA, копирование ключевого контейнера, генерация запроса на сертификат, экспорт/импорт сертификата, смена пароля, подпись jar с помощью установленного провайдера Java CSP RSA, JDK 8. В алиасе используется имя CSP провайдера.
* windows/ktl8-jcp-hd.bat - перечисление, удаление контейнеров, генерация в ключевом контейнере ключа на алгоритме ГОСТ 2012 (256), копирование ключевого контейнера, генерация запроса на сертификат, экспорт/импорт сертификата, смена пароля с помощью установленного провайдера JCP, JDK 8.









