# Autenticación por parte del software de seguridad

RACF realiza varias comprobaciones para autenticar un certificado y devolver el ID de usuario asociado. Tenga en cuenta que otros productos de seguridad podrían hacer esto de manera distinta. Consulte la documentación de su producto de seguridad para obtener más información sobre la función `initACEE` utilizada para realizar la autenticación (modalidad de consulta).

1. RACF comprueba si el certificado se ha definido en la clase `DIGTCERT`. Si es así, devuelve el ID de usuario que estaba asociado con este certificado cuando se añadió a la base de datos de RACF.
   Los certificados se definen para RACF mediante el mandato RACDCERT, como en el ejemplo siguiente:

       RACDCERT ID(idusuario) ADD(dsn) TRUST WITHLABEL('etiqueta')

2. Si no se ha definido el certificado, RACF comprueba si hay un filtro de nombre de certificado coincidente definido en las clases `DIGTNMAP` y/o `DIGTCRIT`. Si es así, devuelve el ID de usuario asociado con el filtro coincidente más específico.
   Nota: Se recomienda no utilizar filtros de nombre para certificados utilizados por Developer for System z, ya que estos filtros correlacionan todos los certificados con un solo ID de usuario. El resultado es que todos los usuarios de Developer for System z iniciarán la sesión con el mismo ID de usuario.
3. Si no hay un filtro de nombre coincidente, RACF localiza la extensión de certificado HostIdMappings y extrae el par de ID de usuario y nombre de host incorporado. Si se encuentra y se valida, RACF devuelve el ID de usuario de definido dentro de la extensión HostIdMappings.
   El par de ID de usuario y nombre de host es válido si se cumplen todas estas condiciones:
   - El certificado CA utilizado para firmar este certificado está marcado como HIGHTRUST en la clase `DIGTCERT`.
   - El ID de usuario almacenado en la extensión tiene una longitud válida (de 1 a 8 caracteres).
   - El ID de usuario asignado al daemon RSE tiene, como mínimo, autorización READ sobre el perfil `IRR.HOST.hostname` en la clase `SERVAUTH`, donde `hostname` es el nombre de host almacenado en la extensión. Este suele ser un nombre de dominio, tal como CDFMVS08.RALEIGH.IBM.COM.
   La definición de la extensión HostIdMappings en la sintaxis ASN.1 es:

       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: Una extensión A HostIdMappings no funciona si el ID de usuario destino se creó después del inicio del periodo de validez para el certificado que contiene la extensión HostIdMappings. Por consiguiente, si va a crear IDs de usuario específicamente para certificados con extensiones HostIdMappings, asegúrese de que crea los ID de usuario antes de someterse las solicitudes de certificados.

Consulte la publicación Security Server RACF Security Administrator's Guide (SA22-7683) para obtener más información sobre los certificados X.509, cómo los gestiona RACF y cómo definir filtros de nombre de certificado. Consulte la publicación Security Server RACF Command Language Reference (SA22-7687) para obtener más información sobre el mandato RACDCERT.

Tema principal: Autenticación de certificados