44.2. Solicitar um novo certificado de usuário e exportá-lo para o cliente
Como administrador de Gerenciamento de Identidade (IdM), você pode criar certificados para usuários em seu ambiente IdM e exportá-los para os clientes IdM nos quais você deseja habilitar a autenticação de certificados para usuários.
Você pode pular esta seção se o usuário que você deseja autenticar usando um certificado já tem um certificado.
Procedimento
Opcionalmente, criar um novo diretório, por exemplo
~/certdb/, e torná-lo um banco de dados temporário de certificados. Quando solicitado, crie uma senha NSS Certificate DB para criptografar as chaves do certificado a ser gerado em uma etapa posterior:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Criar o pedido de assinatura de certificado (CSR) e redirecionar a saída para um arquivo. Por exemplo, para criar um CSR com o nome
certificate_request.csrpara um certificado de bit4096para o usuárioidm_userno reinoIDM.EXAMPLE.COM, definindo o apelido das chaves privadas do certificado paraidm_userpara facilitar a busca, e definindo o assunto paraCN=idm_user,O=IDM.EXAMPLE.COM:certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
# certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow Quando solicitado, digite a mesma senha que você digitou ao utilizar
certutilpara criar o banco de dados temporário. Em seguida, continue digitando randlomly até que lhe seja dito para parar:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Submeta o arquivo de pedido de certificado ao servidor. Especificar o Kerberos principal para associar com o certificado recém-emitido, o arquivo de saída para armazenar o certificado e, opcionalmente, o perfil do certificado. Por exemplo, para obter um certificado do perfil
IECUserRoles, um perfil com extensão de funções de usuário adicional, para oidm_user@IDM.EXAMPLE.COMprincipal, e salvá-lo no arquivo~/idm_user.pem:ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pem
# ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow Adicionar o certificado ao banco de dados do NSS. Use a opção
-npara definir o mesmo apelido que você usou ao criar o CSR anteriormente, para que o certificado corresponda à chave privada no banco de dados do NSS. A opção-tdefine o nível de confiança. Para detalhes, consulte a página de manual certutil(1). A opção-iespecifica o arquivo do certificado de entrada. Por exemplo, para adicionar ao banco de dados do NSS um certificado com o apelidoidm_userque é armazenado no arquivo~/idm_user.pemno banco de dados~/certdb/:certutil -A -d ~/certdb/ -n idm_user -t "P,,\i ~/idm_user.pem
# certutil -A -d ~/certdb/ -n idm_user -t "P,,\i ~/idm_user.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verifique se a chave no banco de dados do NSS não mostra
(orphan)como seu apelido. Por exemplo, para verificar se o certificado armazenado no banco de dados~/certdb/não é órfão:certutil -K -d ~/certdb/
# certutil -K -d ~/certdb/ < 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow Use o comando
pk12utilpara exportar o certificado do banco de dados NSS para o formato PKCS12. Por exemplo, para exportar o certificado com o nicknameidm_userdo banco de dados/root/certdbNSS para o arquivo~/idm_user.p12:pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
# pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULCopy to Clipboard Copied! Toggle word wrap Toggle overflow Transfira o certificado para o host no qual você deseja que a autenticação do certificado para
idm_userseja habilitada:scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
# scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow No host para o qual o certificado foi transferido, tornar o diretório no qual o arquivo .pkcs12 é armazenado inacessível ao grupo 'outro' por razões de segurança:
chmod o-rwx /home/idm_user/
# chmod o-rwx /home/idm_user/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Por razões de segurança, remova o banco de dados temporário do NSS e o arquivo .pkcs12 do servidor:
rm ~/certdb/ rm ~/idm_user.p12
# rm ~/certdb/ # rm ~/idm_user.p12Copy to Clipboard Copied! Toggle word wrap Toggle overflow