.png)
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