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.
Procedimientos
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.
A. Cree el archivo de configuración de OpenSSL
Crear un archivo de configuración
openssl-test-ca.cnfcon 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 extensions 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 Opcional. Puede actualizar los valores predeterminados del nombre distinguido (DN).
B. Generar el archivo PEM de CA de prueba
Cree el archivo de clave de CA de
mongodb-test-ca.keyprueba.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.
Cree el certificado de CA
mongod-test-ca.crtcon 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 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.
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 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 Cree el archivo PEM de CA de prueba a partir del
mongod-test-ca.crtcertificado de CA de prueba y el certificado intermedio demongodb-test-ia.crtprueba.cat mongodb-test-ia.crt mongodb-test-ca.crt > test-ca.pem
Puede utilizar el archivo PEM de prueba al configurar mongod,, mongos o mongosh para 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.