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:# mkdir
~/certdb/
# certutil -N -d~/certdb/
Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password: Re-enter password: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.csr
para um certificado de bit4096
para o usuárioidm_user
no reinoIDM.EXAMPLE.COM
, definindo o apelido das chaves privadas do certificado paraidm_user
para facilitar a busca, e definindo o assunto paraCN=idm_user,O=IDM.EXAMPLE.COM
:# certutil -R -d
~/certdb/
-a -g4096
-nidm_user
-s "CN=idm_user
,O=IDM.EXAMPLE.COM" >certificate_request.csr
Quando solicitado, digite a mesma senha que você digitou ao utilizar
certutil
para criar o banco de dados temporário. Em seguida, continue digitando randlomly até que lhe seja dito para parar:Enter Password or Pin for "NSS Certificate DB": A random seed must be generated that will be used in the creation of your key. One of the easiest ways to create a random seed is to use the timing of keystrokes on a keyboard. To begin, type keys on the keyboard until this progress meter is full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD! Continue typing until the progress meter is full:
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.COM
principal, 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
Adicionar o certificado ao banco de dados do NSS. Use a opção
-n
para 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-t
define o nível de confiança. Para detalhes, consulte a página de manual certutil(1). A opção-i
especifica o arquivo do certificado de entrada. Por exemplo, para adicionar ao banco de dados do NSS um certificado com o apelidoidm_user
que é armazenado no arquivo~/idm_user.pem
no banco de dados~/certdb/
:# certutil -A -d
~/certdb/
-nidm_user
-t "P,,\i~/idm_user.pem
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/
< 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_userUse o comando
pk12util
para exportar o certificado do banco de dados NSS para o formato PKCS12. Por exemplo, para exportar o certificado com o nicknameidm_user
do banco de dados/root/certdb
NSS para o arquivo~/idm_user.p12
:# pk12util -d
~/certdb
-o~/idm_user.p12
-nidm_user
Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULTransfira o certificado para o host no qual você deseja que a autenticação do certificado para
idm_user
seja habilitada:# scp
~/idm_user.p12
idm_user@client.idm.example.com:/home/idm_user/
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/
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