SSL-сертификаты - это набор небольших данных, которые связывают криптографический ключ с данными организации. Это обеспечивает безопасное соединение между веб-сервером и браузером.

Чаще всего в AWS веб-серверы связаны с Loadbalancer, а веб-браузер связывается с веб-серверами через Loadbalancer.

Многие могут задаться вопросом, как я могу создать свой собственный самозаверяющий сертификат и использовать его для своих балансировщиков нагрузки.

Итак, чтобы создать свой собственный SSL-сертификат, нам понадобится следующее.

  1. Открытый ключ
  2. Закрытый ключ
  3. Запрос на подпись сертификата

Используйте следующие команды для создания собственного сертификата SSL.

Создать закрытый ключ как private.pem

> openssl genrsa -out private.pem 2048

Generating RSA private key, 2048 bit long modulus
...................................................................................+++
......................................................................................+++
e is 65537 (0x010001)

Создать открытый ключ как public.pem

> openssl rsa -in private.pem -outform PEM -pubout -out public.pem

writing RSA key

Создайте CSR (запрос на подпись сертификата) как certificate.csr

> openssl req -new -key private.pem -out certificate.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*us-east-1.elb.amazonaws.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Создайте самозаверяющий сертификат как certificate.crt

> openssl x509 -req -days 365 -in certificate.csr -signkey private.pem -out certificate.crt

Signature ok
subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = *us-east-1.elb.amazonaws.com
Getting Private key

Теперь вы создали сертификат SSL и пора загрузить его в свою учетную запись AWS.

Мы будем использовать AWS CLI для загрузки сертификата. Поэтому на вашем компьютере должен быть настроен интерфейс командной строки AWS.

Используйте следующую команду, чтобы загрузить сертификат в свою учетную запись.

> aws iam upload-server-certificate --server-certificate-name my-server-test --certificate-body file://certificate.crt --private-key file://private.pem

{
    "ServerCertificateMetadata": {
        "Path": "/",
        "ServerCertificateName": "my-server-test",
        "ServerCertificateId": "ASCAJK2CRLXCSMEBVV3O6",
        "Arn": "arn:aws:iam::xxxxxxxxxxxx:server-certificate/my-server-test",
        "UploadDate": "2019-03-20T05:17:07Z",
        "Expiration": "2020-03-19T05:16:17Z"
    }
}

Теперь, когда вы загрузили свой сертификат в свою учетную запись AWS, вы можете использовать его при настройке балансировщика нагрузки для HTTPS.

Ура 👏👏👏👏👏

Подпишитесь на нас в Twitter 🐦 и Facebook 👥 и присоединитесь к нашей группе Facebook 💬 .

Чтобы присоединиться к нашему сообществу Slack 🗣️ и читать наши еженедельные темы о Фавнах 🗞️, нажмите здесь⬇

Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку хлопка 👏 ниже, чтобы выразить поддержку автору! ⬇