Red Hat Training

A Red Hat training course is available for RHEL 8

40.2. Conversão de um certificado externo para carregar em uma conta de usuário IdM

Esta seção descreve como garantir que um certificado externo seja codificado e formatado corretamente antes de adicioná-lo a uma entrada do usuário.

Pré-requisitos

  • Se seu certificado foi emitido por uma autoridade certificadora do Active Directory e utiliza a codificação PEM, certifique-se de que o arquivo PEM tenha sido convertido para o formato UNIX. Para converter um arquivo, use o utilitário dos2unix fornecido pelo pacote epônimo.

40.2.1. Conversão de um certificado externo no IdM CLI e seu carregamento em uma conta de usuário IdM

O IdM CLI só aceita um certificado PEM do qual a primeira e última linhas (-----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----) foram removidas.

Procedimento

  1. Converta o certificado para o formato PEM:

    • Se seu certificado estiver no formato DER:

      $ openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
    • Se seu arquivo está no formato PKCS #12, cujas extensões comuns são .pfx e .p12, e contém um certificado, uma chave privada, e possivelmente outros dados, extraia o certificado usando o utilitário openssl pkcs12. Quando solicitado, digite a senha que protege a chave privada armazenada no arquivo:

      $ openssl pkcs12 -in cert_and_key.p12 -clcerts -nokeys -out cert.pem
      Enter Import Password:
  2. Obter as credenciais do administrador:

    $ kinit admin
  3. Adicione o certificado à conta do usuário usando o IdM CLI seguindo um dos seguintes métodos:

    • Remova a primeira e última linhas (-----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----) do arquivo PEM usando o utilitário sed antes de adicionar a string ao comando ipa user-add-cert:

      $ ipa user-add-cert some_user --certificate="$(sed -e '/BEGIN CERTIFICATE/d;/END CERTIFICATE/d' cert.pem)"
    • Copie e cole o conteúdo do arquivo do certificado sem a primeira e última linhas (-----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----) no comando ipa user-add-cert:

      $ ipa user-add-cert some_user --certificate=MIIDlzCCAn gAwIBAgIBATANBgkqhki...
      Nota

      Você não pode passar um arquivo PEM contendo o certificado como entrada para o comando ipa user-add-cert diretamente, sem primeiro remover a primeira e última linhas (-----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----):

      $ ipa user-add-cert some_user --cert=some_user_cert.pem

      Este comando resulta na "ipa: ERROR: A decodificação da base64 falhou: Mensagem de erro "Padding Incorrector".

  4. Opcionalmente, para verificar se o certificado foi aceito pelo sistema:

    [idm_user@r8server]$ ipa user-show some_user