Lo hicimos funcionar para nuestros certificados autofirmados internos al no usar direcciones IP sino nombres de máquina (+dominio) como CN y configuración de conexión.
Entonces, ponga 'dbServer1.company.local'
como el CN para el certificado del servidor y use el mismo 'dbServer1.company.local'
dirección como parte del host del DSN para la conexión PDO. Si lo desea, puede usar 'dbServer1'
pero asegúrate de usarlo en ambos lugares.
Esto te pondrá en marcha:
$pdo_options = array(
PDO::MYSQL_ATTR_SSL_KEY => 'path/to/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => 'path/to/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => 'path/to/ca.pem'
);
PDO::__construct('mysql:host=dbServer1.company.local;dbname=someDB','someUser', 'somePass', $pdo_options);
Administramos nuestro propio DNS para resolver dbServer1.company.local
no es un problema, pero si su servidor web no puede resolverlo o no puede administrar la entrada de DNS, entonces piratee algo como lo siguiente en su etc/hosts
archivo:
10.5.5.20 dbServer1.company.local
o
10.5.5.20 dbServer1