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 arquivoPEM
tenha sido convertido para o formatoUNIX
. Para converter um arquivo, use o utilitáriodos2unix
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
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árioopenssl 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:
Obter as credenciais do administrador:
$ kinit admin
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áriosed
antes de adicionar a string ao comandoipa 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...
NotaVocê não pode passar um arquivo
PEM
contendo o certificado como entrada para o comandoipa 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".
Opcionalmente, para verificar se o certificado foi aceito pelo sistema:
[idm_user@r8server]$ ipa user-show some_user