Генерация самоподписанного сертификата и импорт в JKS
Необходимые условия
Установленный Java Development Kit (JDK) (содержит keytool)
OpenSSL (опционально, но полезен для некоторых шагов)
Способ 1: Использование только keytool
1. Сгенерировать самоподписанный сертификат напрямую в JKS
keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore keystore.jks -storetype JKS -storepass changeit -keypass changeit -dname "CN=localhost, OU=Development, O=DATA OCEAN, L=Moscow, ST=State, C=RU"
2. Проверить содержимое JKS
keytool -list -v -keystore keystore.jks -storepass changeit
Способ 2: Использование OpenSSL с последующим импортом в JKS
1. Сгенерировать приватный ключ
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
2. Создать запрос на подпись сертификата (CSR)
openssl req -new -key private.key -out cert.csr -subj "/CN=localhost/OU=Development/O=DATA OCEAN/L=City/ST=State/C=RU"
3. Сгенерировать самоподписанный сертификат
openssl x509 -req -days 365 -in cert.csr -signkey private.key -out certificate.crt
4. Конвертировать сертификат и ключ в формат PKCS12
openssl pkcs12 -export -in certificate.crt -inkey private.key -name myalias -out keystore.p12 -password pass:changeit
5. Импортировать PKCS12 в JKS
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass changeit -destkeystore keystore.jks -deststoretype JKS -deststorepass changeit
Дополнительные команды
Для импорта существующего сертификата в JKS:
keytool -importcert -alias myalias -file certificate.crt -keystore keystore.jks -storepass changeit
Для изменения пароля JKS:
keytool -storepasswd -keystore keystore.jks
Для экспорта сертификата из JKS:
keytool -exportcert -alias myalias -file exported.crt -keystore keystore.jks -storepass changeit
Важные замечания:
Замените "changeit" на ваш надежный пароль
Замените значения Distinguished Name (DN) на свои
keystore.jks - файл хранилища ключей в формате JKS, для
АРХИВА
этоmailarchivacerts
Храните ваши приватные ключи в безопасности
20 May 2025