Docs Menu
Docs Home
/ /
Apéndice
/ / / /

Apéndice C - Certificados de Cliente OpenSSL para Pruebas de Implementaciones Autogestionadas

Advertencia

Descargo de responsabilidad

Esta página está destinada a únicamente con fines de prueba y los certificados son únicamente para fines de prueba.

El siguiente tutorial proporciona algunos pasos básicos para crear 509 certificados de prueba X..

  • No utilice estos certificados para producción. En su lugar, siga sus políticas de seguridad.

  • Para obtener información sobre OpenSSL, consulte la documentación oficial de OpenSSL. Aunque este tutorial utiliza OpenSSL, no debe considerarse una referencia oficial sobre OpenSSL.

El procedimiento descrito en esta página utiliza el certificado de autoridad intermedia de prueba y la clave mongodb-test-ia.crt y mongodb-test-ia.key creada en Apéndice A - Certificado CA OpenSSL para probar implementaciones autogestionadas.

El siguiente procedimiento describe los pasos para crear certificados de prueba para clientes MongoDB. Para obtener información sobre cómo crear certificados de prueba para servidores MongoDB, consulte el Apéndice B: Certificados de servidor OpenSSL para probar implementaciones autogestionadas.

  1. Crear un archivo de configuración de prueba openssl-test-client.cnf para su cliente con el siguiente contenido:

    # NOT FOR PRODUCTION USE. OpenSSL configuration file for testing.
    [ req ]
    default_bits = 4096
    default_keyfile = myTestClientCertificateKey.pem ## The default private key file name.
    default_md = sha256
    distinguished_name = req_dn
    req_extensions = v3_req
    [ v3_req ]
    subjectKeyIdentifier = hash
    basicConstraints = CA:FALSE
    keyUsage = critical, digitalSignature, keyEncipherment
    nsComment = "OpenSSL Generated Certificate for TESTING only. NOT FOR PRODUCTION USE."
    extendedKeyUsage = serverAuth, clientAuth
    [ req_dn ]
    countryName = Country Name (2 letter code)
    countryName_default =
    countryName_min = 2
    countryName_max = 2
    stateOrProvinceName = State or Province Name (full name)
    stateOrProvinceName_default = TestClientCertificateState
    stateOrProvinceName_max = 64
    localityName = Locality Name (eg, city)
    localityName_default = TestClientCertificateLocality
    localityName_max = 64
    organizationName = Organization Name (eg, company)
    organizationName_default = TestClientCertificateOrg
    organizationName_max = 64
    organizationalUnitName = Organizational Unit Name (eg, section)
    organizationalUnitName_default = TestClientCertificateOrgUnit
    organizationalUnitName_max = 64
    commonName = Common Name (eg, YOUR name)
    commonName_max = 64
  2. Opcional. Puede actualizar los valores predeterminados del Nombre Distinguido (DN). Asegúrese de que los certificados de cliente difieran de los de servidor en al menos uno de los siguientes atributos: Organización (),O Unidad OrganizativaOU () o Componente de DominioDC ().

  1. Cree el archivo de clave de mongodb-test-client.key prueba.

    openssl genrsa -out mongodb-test-client.key 4096
  2. Cree la solicitud de firma del certificado de mongodb-test-client.csr prueba. Cuando se le soliciten los valores de nombre distintivo, introduzca los valores correspondientes para su certificado de prueba:

    Importante

    El sujeto del certificado del cliente debe ser diferente del sujeto del certificado del servidor con respecto a al menos uno de los siguientes atributos: Organización (O), Unidad Organizativa (OU) o Componente de Dominio (DC).

    openssl req -new -key mongodb-test-client.key -out mongodb-test-client.csr -config openssl-test-client.cnf
  3. Cree el certificado de cliente de mongodb-test-client.crt prueba.

    openssl x509 -sha256 -req -days 365 -in mongodb-test-client.csr -CA mongodb-test-ia.crt -CAkey mongodb-test-ia.key -CAcreateserial -out mongodb-test-client.crt -extfile openssl-test-client.cnf -extensions v3_req
  4. Cree el archivo PEM de prueba para el cliente.

    cat mongodb-test-client.crt mongodb-test-client.key > test-client.pem

    Puede usar el archivo PEM de prueba para configurar para mongosh las pruebas TLS/SSL. Por ejemplo, para conectarse a un mongod o mongos un:

    Ejemplo

    Incluya las siguientes opciones para el cliente:

    mongosh --tls --host <serverHost> --tlsCertificateKeyFile test-client.pem --tlsCAFile test-ca.pem
    En macOS,

    Si está realizando pruebas con Keychain Access para administrar certificados, cree un archivo PKCS 12 para agregarlo a Keychain Access en lugar de un archivo PEM:

    openssl pkcs12 -export -out test-client.pfx -inkey mongodb-test-client.key -in mongodb-test-client.crt -certfile mongodb-test-ia.crt

    Una vez agregado a Acceso a llaveros, en lugar de especificar el archivo de clave del certificado, puede usar el --tlsCertificateSelector para especificar el certificado que se va a usar. Si el archivo CA también se encuentra en Acceso a Llaveros, puede omitir --tlsCAFile, como en el siguiente ejemplo:

    mongosh --tls --tlsCertificateSelector subject="<TestClientCertificateCommonName>"

    Para agregar certificados a Keychain Access, consulte la documentación oficial de Keychain Access.

Tip

Volver

Servidor OpenSSL