Как создать ключ SSL и сертификат SSL из заданного файла CA (центра сертификации)

Как создать ключ SSL и сертификат SSL из заданного файла CA (центра сертификации)

Мне нужно создать зашифрованное подключение к базе данных для серверов Azure Cloud MySQL. Они предоставили нам сертификат CA под названием «BaltimoreCyberTrustRoot.crt.pem» для использования при подключении к серверам Azure MySQL.

Мой вопрос: когда я подключаюсь к серверу MySQL, мне нужно указать путь к файлу ключа и сертификата, как показано ниже. Как мне сгенерировать свой собственный файл или мне нужны также два вышеуказанных файла? Если оставить их пустыми, то соединение будет небезопасным или менее безопасным?

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
           'options'   => array(
                PDO::MYSQL_ATTR_SSL_KEY    => env('CLIENT_KEY', ''),
                PDO::MYSQL_ATTR_SSL_CERT    => env('CLIENT_CERT', ''),
                PDO::MYSQL_ATTR_SSL_CA    => env('CA_CERT', ''),
               PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
            ),
        ],

решение1

KEY и CERT используются только для взаимной аутентификации, т.е. аутентификации по клиентскому сертификату. Однако этот тип аутентификации, похоже, не является обязательным, поэтому KEY и CERT не будут использоваться вообще.

Вместо этого они предоставили вам CA, выдавший сертификат сервера, т. е. CA_CERT.

решение2

Предположим, что вы имеете дело с клиентским сертификатом.

Вы можете преобразовать pem в отдельные части/файлы Это может быть решением.

Мне удалось преобразовать pem в crt с помощью этого:

openssl x509 -outform der -in C:\path\to\your-cert.pem -out C:\path\to\your-cert.crt

И для ключа:

openssl pkey -in foo.pem -out foo.key

Связанный контент