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

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

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

openssl genrsa -aes256 -passout pass:password -out RootKey.pem 2048
  1. Сгенерируйте самоподписанный сертификат полученного ключа. Вместо слова «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"
  1. Сгенерируйте еще один ключ:

openssl genrsa -aes256 -passout pass:password -out PK.pem 2048
  1. Создайте запрос на подписывание этого ключа ранее созданным корневым сертификатом. После -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"
  1. Подпишите ключ корневым сертификатом:

openssl x509 -req -in PK_SignReq.pem -CA RootCert.pem -CAkey RootKey.pem 
    -passin pass:password -CAcreateserial -out ServCert.pem -days 365 -sha256
  1. Поместите ключи и сертификаты в хранилище сертификатов в формате PKCS12. Вместо «password» укажите пароль ключа, вместо «passwordKeystore» - пароль от хранилища (Рекомендуется указать пароль, отличный от других паролей):

  2. В файле настроек 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

Was this helpful?