Como criar uma chave SSL e um certificado SSL a partir de um determinado arquivo CA (autoridade de certificação)

Como criar uma chave SSL e um certificado SSL a partir de um determinado arquivo CA (autoridade de certificação)

Preciso criar uma conexão de banco de dados criptografada com os servidores MySQL do Azure Cloud. Eles nos forneceram um certificado CA chamado "BaltimoreCyberTrustRoot.crt.pem" para usar ao conectar com os servidores MySQL do Azure.

Minha pergunta é: quando me conecto ao servidor MySQL, preciso fornecer um caminho para uma chave e um arquivo de certificado, como abaixo: Como faço para gerar o meu próprio ou preciso dos dois arquivos acima também? deixá-los em branco significa que a conexão não é segura ou é menos segura?

'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,
            ),
        ],

Responder1

A KEY e o CERT são utilizados apenas para autenticação mútua, ou seja, autenticação por certificado de cliente. Porém, esse tipo de autenticação não parece ser um requisito aqui, portanto, KEY e CERT não serão usados.

O que eles lhe deram foi a CA que emitiu o certificado do servidor, ou seja, o CA_CERT.

Responder2

Supondo que você esteja lidando com um certificado de cliente.

Você pode converter o pem em partes/arquivos separados Esta poderia ser uma solução

Consegui converter pem em crt usando isto:

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

E para chave:

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

informação relacionada