El controlador admite conexiones a » MongoDB sobre SSL y puede opcionalmente usar opciones Contexto de flujos de SSL para proporcionar más detalles, tales como verificar certificados con cadenas de certificado específicas, o autenticar a » MongoDB usando la certificación X509.
Ejemplo #1 Conectar a una instancia de MongoDB con encriptación SSL
<?php
$mc = new MongoClient("mongodb://server1", array("ssl" => true));
?>
Ejemplo #2 Conectar a una instancia de MongoDB con encriptación SSL, verificando que es quien se espera
<?php
$ctx = stream_context_create(array(
"ssl" => array(
/* Verificar opcionalmente que el servidor es el previsto, y que ha sido certificado por la CA en que confiamos */
"verify_peer" => true,
"allow_self_signed" => false,
"cafile" => "/vagrant/certs/ca.pem",
),
));
$mc = new MongoClient(
"mongodb://server1",
array("ssl" => true),
array("context" => $ctx)
);
?>
Ejemplo #3 Conectar a una instancia de MongoDB que requiera certificados cliente
<?php
$ctx = stream_context_create(array(
"ssl" => array(
"local_cert" => "/vagrant/certs/client.pem",
/* Si el certificado que proporcionamos fue codificado con passphrase, es necesario establecerlo aquí */
"passphrase" => "My Passphrase for the local_cert",
/* Verificar opcionalmente que el servidor es el previsto */
"verify_peer" => true,
"cafile" => "/vagrant/certs/ca.pem",
),
));
$mc = new MongoClient(
"mongodb://server1/?ssl=true",
array(),
array("context" => $ctx)
);
?>
Ejemplo #4 Autenticación con certificados X.509
El nombre de usuario es el sujeto del certificado de X509, el cual puede extraerse así:
openssl x509 -in /vagrant/certs/ca-signed-client.pem -inform PEM -subject -nameopt RFC2253
<?php
$ctx = stream_context_create( array(
"ssl" => array(
"local_cert" => "/vagrant/certs/ca-signed-client.pem",
)
) );
$mc = new MongoClient(
'mongodb://username@server1/?authSource=$external&authMechanism=MONGODB-X509&ssl=true',
array(),
array("context" => $ctx)
);
?>
Donde username es el sujeto del certificado.
Versión | Descripción |
---|---|
1.5.0 | Se añadió soporte para autenticación X509. |
1.4.0 | Se añadió soporte para conectar con MongoDB habilitado para SSL. |