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

Apéndice A - Certificado CA de 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 algunas pautas 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.

Los siguientes procedimientos describen los pasos para crear un archivo CA PEM de prueba. El procedimiento crea tanto el archivo CA PEM como un certificado de autoridad intermedia y archivos de clave para firmar certificados de prueba de servidor/cliente.

  1. Crear un archivo de configuración openssl-test-ca.cnf con el siguiente contenido:

    # NOT FOR PRODUCTION USE. OpenSSL configuration file for testing.
    # For the CA policy
    [ policy_match ]
    countryName = match
    stateOrProvinceName = match
    organizationName = match
    organizationalUnitName = optional
    commonName = supplied
    emailAddress = optional
    [ req ]
    default_bits = 4096
    default_keyfile = myTestCertificateKey.pem ## The default private key file name.
    default_md = sha256 ## Use SHA-256 for Signatures
    distinguished_name = req_dn
    req_extensions = v3_req
    x509_extensions = v3_ca # The extentions to add to the self signed cert
    [ 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 = TestCertificateStateName
    stateOrProvinceName_max = 64
    localityName = Locality Name (eg, city)
    localityName_default = TestCertificateLocalityName
    localityName_max = 64
    organizationName = Organization Name (eg, company)
    organizationName_default = TestCertificateOrgName
    organizationName_max = 64
    organizationalUnitName = Organizational Unit Name (eg, section)
    organizationalUnitName_default = TestCertificateOrgUnitName
    organizationalUnitName_max = 64
    commonName = Common Name (eg, YOUR name)
    commonName_max = 64
    [ v3_ca ]
    # Extensions for a typical CA
    subjectKeyIdentifier=hash
    basicConstraints = critical,CA:true
    authorityKeyIdentifier=keyid:always,issuer:always
  2. Opcional. Puede actualizar los valores predeterminados del nombre distinguido (DN).

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

    openssl genrsa -out mongodb-test-ca.key 4096

    Tip

    Esta clave privada se utiliza para generar certificados válidos para la CA. Aunque esta clave privada, al igual que todos los archivos de este apéndice, está destinada únicamente a fines de prueba, se recomienda adoptar buenas prácticas de seguridad y proteger este archivo de clave.

  2. Cree el certificado de CA mongod-test-ca.crt con el archivo de clave generado. Cuando se le soliciten los valores de nombre distinguido, introduzca los valores adecuados para su certificado de CA de prueba.

    openssl req -new -x509 -days 1826 -key mongodb-test-ca.key -out mongodb-test-ca.crt -config openssl-test-ca.cnf
  3. Crea la llave privada para el certificado intermedio.

    openssl genrsa -out mongodb-test-ia.key 4096

    Tip

    Esta clave privada se utiliza para generar certificados válidos para la autoridad intermediaria. Aunque esta clave privada, al igual que todos los archivos de este apéndice, está destinada únicamente a fines de prueba, se recomienda adoptar buenas prácticas de seguridad y proteger este archivo de clave.

  4. Cree la solicitud de firma de certificado para el certificado intermedio. Cuando se le soliciten los valores de nombre distinguido, introduzca los valores correspondientes para su certificado de autoridad intermedia de prueba.

    openssl req -new -key mongodb-test-ia.key -out mongodb-test-ia.csr -config openssl-test-ca.cnf
  5. Cree el certificado intermedio mongodb-test-ia.crt.

    openssl x509 -sha256 -req -days 730 -in mongodb-test-ia.csr -CA mongodb-test-ca.crt -CAkey mongodb-test-ca.key -set_serial 01 -out mongodb-test-ia.crt -extfile openssl-test-ca.cnf -extensions v3_ca
  6. Cree el archivo PEM de CA de prueba a partir del mongod-test-ca.crt certificado de CA de prueba y el certificado intermedio de mongodb-test-ia.crt prueba.

    cat mongodb-test-ia.crt mongodb-test-ca.crt > test-ca.pem

Puede utilizar el archivo PEM de prueba al configurar mongod, mongos o para mongosh pruebas TLS/SSL.

Puede usar la autoridad intermedia de prueba para firmar los certificados de prueba tanto para el servidor como para el cliente. Una sola autoridad debe emitir los certificados tanto para el cliente como para el servidor.

Volver

Apéndice