Para agentes de IA: um Ă­ndice de documentação estĂĄ disponĂ­vel em https://www.mongodb.com/pt-br/docs/llms.txt — as versĂ”es de markdown de todas as pĂĄginas estĂŁo disponĂ­veis anexando .md a qualquer caminho de URL.

ApĂȘndice C - Certificados de cliente OpenSSL para testar implementaçÔes autogerenciadas

Aviso

Aviso

Esta pĂĄgina Ă© fornecida apenas para fins de teste e os certificados sĂŁo apenas para fins de teste .

O seguinte tutorial fornece algumas etapas bĂĄsicas para criar certificados de teste X.509.

  • NĂŁo use esses certificados para produção. Em vez disso, siga suas polĂ­ticas de segurança.

  • Para obter informaçÔes sobre OpenSSL, consulte os documentos oficiais do OpenSSL. Embora este tutorial use OpenSSL, o material nĂŁo deve ser considerado uma referĂȘncia oficial no OpenSSL.

O procedimento descrito nesta pĂĄgina usa o certificado de autoridade intermediĂĄria de teste e as chaves mongodb-test-ia.crt e mongodb-test-ia.key criados no ApĂȘndice A - Certificado OpenSSL CA para testar sistemas autogerenciados.

O procedimento a seguir descreve as etapas para criar certificados de teste para clientes MongoDB . Para obter as etapas para criar certificados de teste para servidores MongoDB , consulte o ApĂȘndice B - Certificados de servidor OpenSSL para testar implementaçÔes autogerenciadas.

  1. Crie um arquivo de configuração de teste openssl-test-client.cnf para seu cliente com o seguinte conteĂșdo:

    # NOT FOR PRODUCTION USE. OpenSSL configuration file for testing. [ req ]default_bits = 4096default_keyfile = myTestClientCertificateKey.pem ## The default private key file name.default_md = sha256distinguished_name = req_dnreq_extensions = v3_req [ v3_req ]subjectKeyIdentifier = hashbasicConstraints = CA:FALSEkeyUsage = critical, digitalSignature, keyEnciphermentnsComment = "OpenSSL Generated Certificate for TESTING only. NOT FOR PRODUCTION USE."extendedKeyUsage = serverAuth, clientAuthsubjectAltName = @alt_names [ alt_names ]DNS.1 = testclient.example.com ## Replace with the valid DNS name for the clientDNS.2 = localhost ## Optional additional valuesIP.1 = 192.168.1.10 ## Replace with the client IP address [ req_dn ]countryName = Country Name (2 letter code)countryName_default =countryName_min = 2countryName_max = 2 stateOrProvinceName = State or Province Name (full name)stateOrProvinceName_default = TestClientCertificateStatestateOrProvinceName_max = 64 localityName = Locality Name (eg, city)localityName_default = TestClientCertificateLocalitylocalityName_max = 64 organizationName = Organization Name (eg, company)organizationName_default = TestClientCertificateOrgorganizationName_max = 64 organizationalUnitName = Organizational Unit Name (eg, section)organizationalUnitName_default = TestClientCertificateOrgUnitorganizationalUnitName_max = 64commonName = Common Name (eg, YOUR name)commonName_max = 64

    Observação

    nome alternativo do assunto (SAN) Ă© o padrĂŁo moderno preferido para definir nomes de host vĂĄlidos, endereços IP e outros assuntos de certificado. Embora um valor de Nome Comum (CN) seja especificado, o CN Ă© secundĂĄrio ao SAN nos padrĂ”es modernos do TLS. O servidor MongoDB sĂł usa o CN para correspondĂȘncia de nome de host se SAN for totalmente omitido.

  2. Opcional. VocĂȘ pode atualizar os valores padrĂŁo de nome distinto (DN).

    Importante

    Certifique-se de que os certificados do cliente sejam diferentes dos certificados do servidor em relação a pelo menos um dos seguintes atributos: organização (O), unidade organizacional (OU) ou componente de domínio (DC).

  1. Crie o arquivo de chave de teste mongodb-test-client.key.

    openssl genrsa -out mongodb-test-client.key 4096
  2. Crie a solicitação de assinatura de certificado de teste mongodb-test-client.csr. Quando solicitado para valores de nome distinto, insira os valores apropriados para o certificado de teste :

    Importante

    O assunto do certificado do cliente deve diferir de um assunto de certificado de servidor com relação a pelo menos um dos seguintes atributos: organização (O), Unidade Organizacional (OU) ou Componente de Domínio (DC).

    openssl req -new -key mongodb-test-client.key -out mongodb-test-client.csr -config openssl-test-client.cnf
  3. Crie o certificado do cliente de teste mongodb-test-client.crt.

    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. Crie o arquivo PEM de teste para o cliente.

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

    VocĂȘ pode usar o arquivo PEM de teste para configurar mongosh para teste TLS/SSL. Por exemplo, para conectar a um mongod ou um mongos:

    Exemplo

    Inclua as seguintes opçÔes para o cliente:

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

    Se vocĂȘ estiver testando com o Keychain Access para managed certificados, crie um arquivo PKCS 12 para adicionar ao Keychain Access em vez de um arquivo PEM:

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

    Uma vez adicionado ao Keychain Access, em vez de especificar o arquivo de chave de certificado, vocĂȘ pode usar o --tlsCertificateSelector para especificar o certificado a ser usado. Se o arquivo CA tambĂ©m estiver no Keychain Access, vocĂȘ poderĂĄ omitir --tlsCAFile , bem como no exemplo a seguir:

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

    Para adicionar certificados ao Keychain Access, consulte a documentação oficial do Keychain Access.

Avalie esta pĂĄgina