Создание сертификатов для TLS

Для генерации сертификатов потребуется установленная программа openssl.

1.Сгенерируйте корневой ключ. Вместо слова «password» укажите пароль ключа:

openssl genrsa -aes256 -passout pass:password -out RootKey.pem 2048

2.Сгенерируйте самоподписанный сертификат полученного ключа. Вместо слова «password» укажите ранее указанный пароль ключа, после ключа -subj укажите информацию об авторе ключа:

openssl req -x509 -new -nodes -key RootKey.pem 
    -passin pass:password -sha256 -days 365 -out RootCert.pem 
    -subj "/C=CountryName/ST=StateOrProvinceName/L=Locality/O=Organization/OU=OrganizationalUnit/CN=CommonName"

3.Сгенерируйте еще один ключ:

openssl genrsa -aes256 -passout pass:password -out PK.pem 2048

4.Создайте запрос на подписывание этого ключа ранее созданным корневым сертификатом. После -subj укажите информацию о новом ключе:

openssl req -new -key PK.pem -passin pass:password -out PK_SignReq.pem 
    -subj "/C=CountryName/ST=StateOrProvinceName/L=Locality/O=Organization/OU=OrganizationalUnit/CN=Serv.CommonName"

5.Подпишите ключ корневым сертификатом:

openssl x509 -req -in PK_SignReq.pem -CA RootCert.pem -CAkey RootKey.pem 
    -passin pass:password -CAcreateserial -out ServCert.pem -days 365 -sha256

6.Поместите ключи и сертификаты в хранилище сертификатов в формате PKCS12. Вместо «password» укажите пароль ключа, вместо «passwordKeystore» - пароль от хранилища (Рекомендуется указать пароль, отличный от других паролей):

7.В файле настроек application.properties укажите следующее:

server.ssl.key-store-type=PKCS12
server.ssl.key-store=<путь к файлу Keystore.p12>
server.ssl.key-store-password=<passwordKeyStore>
server.ssl.key-alias=Key

Last updated