# Autenticação por Software de Segurança

RACF executa diversas verificações para autenticar um certificado e retornar o ID do usuário associado. Observe que outros produtos de segurança podem fazer isso de forma diferente. Consulte a documentação de seu produto de segurança para obter informações adicionais sobre a função `initACEE` usada para realizar a autenticação (modo de consulta).

1. RACF verifica se o certificado está definido na classe `DIGTCERT`. Se esse for o caso, retorna o ID do usuário que foi associado a esse certificado quando foi incluído no banco de dados RACF.
   Certificados são definidos para RACF usando o comando RACDCERT, como no exemplo a seguir:

       RACDCERT ID(userid) ADD(dsn) TRUST WITHLABEL('label')

2. Se o certificado não estiver definido, RACF verifica se há um filtro de nome de certificado correspondente definido nas classes `DIGTNMAP` e/ou `DIGTCRIT`. Se esse for o caso, retorna o ID do usuário associado ao filtro de correspondência mais específico.
   Nota: Aconselha-se não usar filtros de nomes para certificados usados pelo Developer para System z, pois esses filtros mapeiam todos os certificados para um único ID de usuário. O resultado é que todos os seus usuários do Developer para System z efetuarão logon com o mesmo ID do usuário.
3. Se não houver nenhum filtro de nome, o RACF localiza a extensão de certificado HostIdMappings e extrai o par de ID do usuário e nome do host integrado. Se localizado e validado, o RACF retorna o ID do usuário definido na extensão HostIdMappings.
   O par ID do usuário e nome do host é válido se todas estas condições forem verdadeiras:
   - O certificado da CA usado para assinar esse certificado é marcado como HIGHTRUST na classe `DIGTCERT`.
   - O ID do usuário armazenado na extensão tem um comprimento válido (1 a 8 caracteres).
   - O Id do usuário designado ao daemon do RSE tem (pelo menos) autoridade READ para o perfil `IRR.HOST.hostname` na classe `SERVAUTH`, onde `hostname` é o nome do host armazenado na extensão. É geralmente um nome de domínio, como CDFMVS08.RALEIGH.IBM.COM.
   A definição da extensão HostIdMappings na sintaxe ASN.1 é:

       id-ce-hostIdMappings OBJECT IDENTIFIER::= {1 3 18 0 2 18 1}
       HostIdMappings::= SET OF HostIdMapping
       HostIdMapping::= SEQUENCE{
          hostName        IMPLICIT[1] IA5String,
          subjectId         IMPLICIT[2] IA5String,
          proofOfIdPossession IdProof OPTIONAL
        }
        IdProof::= SEQUENCE{
          secret        OCTET STRING,
          encryptionAlgorithm OBJECT IDENTIFIER
        }

   Nota: Uma extensão HostIdMappings não é honrada se o ID do usuário de destino tiver sido criado após o início do período de validade para o certificado contendo a extensão HostIdMappings. Portanto, se você estiver criando IDs de usuários especificamente para certificados com extensões HostIdMappings, certifique-se de que você tenha criado os IDs de usuários antes de os pedidos de certificados serem enviados.

Consulte Security Server RACF Security Administrator's Guide (SA22-7683) para obter informações adicionais sobre certificados X.509, como são gerenciados pelo RACF e como definir filtros do nome do certificado. Consulte Security Server RACF Command Language Reference (SA22-7687) para obter informações adicionais sobre o comando RACDCERT.

Tópico pai: Autenticação por Certificado