Control del gestor de confianza de las decisiones de confianza sobre certificados X.509

La función del gestor de confianza es validar el certificado SSL (Secure Sockets Layer) que envía el igual, que incluye la verificación de la firma y la comprobación de la fecha de caducidad del certificado. Un gestor de confianza JSSE (Java™ Secure Socket Extension) determina si se puede confiar en el igual remoto durante un reconocimiento de comunicación SSL.

WebSphere Application Server tiene la capacidad de llamar a varios gestores de confianza durante una conexión SSL. El gestor de confianza predeterminado realiza la validación estándar de certificados mientras que los plug-ins del gestor de confianza personalizados ejecutan la validación personalizada como, por ejemplo, la verificación de nombres. Para obtener más información, consulte Ejemplo: desarrollo de un gestor de confianza personalizada para decisiones de confianza SSL personalizadas

Cuando se configura un gestor de confianza en una configuración SSL del extremo del servidor, el servidor llama al método isClientTrusted. Cuando se configura un gestor de confianza en una configuración SSL del extremo del cliente, el cliente llama al método isServerTrusted. La cadena de certificados de igual se pasa a estos métodos. Si el gestor de confianza opta por no confiar en la información de igual, se podría generar una excepción para forzar un error en el reconocimiento de comunicación.

Opcionalmente, WebSphere Application Server proporciona la interfaz com.ibm.wsspi.ssl.TrustManagerExtendedInfo para que se pueda pasar información adicional al gestor de confianza. Para obtener más información, consulte la interfaz com.ibm.wsspi.ssl.TrustManagerExtendedInfo.

Gestor de confianza IbmX509 por omisión

El gestor de confianza IbmX509 predeterminado, que se utiliza en el siguiente ejemplo de código, establece la confianza mediante la validación estándar de certificados.
<trustManagers xmi:id="TrustManager_1132357815717" name="IbmX509" provider="IBMJSSE2" 
algorithm="IbmX509" managementScope="ManagementScope_1132357815717"/>
El gestor de confianza proporciona un certificado de firmante para verificar el certificado de igual que se envía durante el reconocimiento de comunicación. Los firmantes que se añaden al almacén de confianza para la configuración SSL deben ser de confianza. Si no confía en los firmantes o no desea que otros se conecten a sus servidores, considere la posibilidad de eliminar los certificados raíz predeterminados de las autoridades certificadoras (CA). También puede eliminar cualquier certificado si no puede verificar su origen.

Gestor de confianza IbmPKIX por omisión

Puede utilizar el gestor de confianza IbmPKIX predeterminado para sustituir al gestor de confianza IbmX509, como se muestra en el siguiente ejemplo de código:
<trustManagers xmi:id="TrustManager_1132357815719" name="IbmPKIX" provider="IBMJSSE2" 
algorithm="IbmPKIX" trustManagerClass="" managementScope="ManagementScope_1132357815717">
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_1132357815717" 
name="com.ibm.security.enableCRLDP" value="true" type="boolean"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_1132357815718" 
name="com.ibm.jsse2.checkRevocation" value="true" type="boolean"/>
  </trustManagers>
<trustManagers xmi:id="TrustManager_managementNode_2" name="IbmPKIX" provider=
"IBMJSSE2" algorithm="IbmPKIX" trustManagerClass="" 
managementScope="ManagementScope_managementNode_1">
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_1" name="com.ibm.se
curity.enableCRLDP" value="false" type="boolean" displayNameKey="" nlsRangeKey="
" hoverHelpKey="" range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_2" name="com.ibm.js
se2.checkRevocation" value="false" type="boolean" displayNameKey="" nlsRangeKey=
"" hoverHelpKey="" range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_3" name="ocsp.enabl
e" value="false" type="String" displayNameKey="" nlsRangeKey="" hoverHelpKey=""
range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_4" name="ocsp.respo
nderURL" value="http://ocsp.example.net:80" type="String" displayNameKey="" 
nlsRangeKey="" hoverHelpKey="" range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_5" name="ocsp.respo
nderCertSubjectName" value="" type="String" displayNameKey="" nlsRangeKey="" hov
erHelpKey="" range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_6" name="ocsp.respo
nderCertIssuerName" value="" type="String" displayNameKey="" nlsRangeKey="" hove
rHelpKey="" range="" inclusive="false" firstClass="false"/>
<additionalTrustManagerAttrs xmi:id="DescriptiveProperty_7" name="ocsp.respo
nderCertSerialNumber" value="" type="String" displayNameKey="" nlsRangeKey="" ho
verHelpKey="" range="" inclusive="false" firstClass="false"/>
</trustManagers>

Consulte Ejemplo: Habilitación de la comprobación de revocación de certificado con el gestor de confianza IbmPKIX predeterminado para obtener más información sobre la utilización del gestor de confianza IbmPKIX predeterminado.

Además del rol de verificación estándar de certificados, el gestor de confianza IbmPKIX busca las propiedades OCSP y los certificados que contengan puntos de distribución CRL (lista de revocación de certificados). Este proceso se conoce como comprobación de CRL ampliada. Al seleccionar un gestor de confianza, las propiedades asociadas se establecen automáticamente como propiedades del sistema Java de modo que los proveedores IBMCertPath e IBMJSSE2 tengan conocimiento de que la comprobación de CRL está habilitada.

Diferencias entre los gestores de confianza Ibmx509 e IbmPKIX

Los requisitos de validación de los certificados X.509 son más restrictivos en el gestor de confianza IbmX509 que en el IbmPKIX. Por ejemplo:
  • El gestor de confianza IbmX509 valida la cadena de certificados completa independientemente de cuáles son los certificados en los que confía el cliente/servidor. Sin embargo, el gestor de confianza IbmPKIX no valida un certificado ni siquiera si le indica que desea confiar en ese certificado. El gestor de confianza IbmPKIX sólo valida los certificados que proceden del que está firmado por el certificado que usted ha marcado como de confianza hasta el certificado final, sin secundarios. Además,
  • IbmX509 requiere que el certificado CA raíz posea la ampliación de RESTRICCIONES BÁSICAS. De lo contrario, el certificado no se puede utilizar como certificado CA raíz. IbmPKIX not tiene este requisito de RESTRICCIONES BÁSICAS para los certificados CA raíz.
  • El gestor de confianza IbmX509 lleva a cabo comprobaciones de validación de firma y vencimiento de certificados para validar los certificados. El gestor de confianza IbmPKIX realiza estas mismas validaciones, más otra comprobación más avanzada, la CTL (Certificate Revocation List), que determina si la entidad emisora de certificados (CA) ha revocado el certificado.
  • El gestor de confianza IbmPKIX obtiene automáticamente una CRL cuando se recibe un certificado si existen ampliaciones de punto de distribución (DP) de la CRL.

Ademas, se puede utilizar OCSP (Online Certificate Status Protocol) para realizar una comprobación en línea de la validez del certificado. No obstante, esta capacidad requiere establecer propiedades del sistema adicionales, tal como se documentan en la publicación Java Certification Path API Programmer's Guide, disponible en el sitio web de IBM® developerWorks.

Gestor de confianza personalizado

Puede definir un gestor de confianza personalizado para realizar una comprobación de confianza adicional, basada en las necesidades del entorno. Por ejemplo, en un entorno, podría habilitar sólo las conexiones de la misma subred TCP (Transmission Control Protocol). La interfaz com.ibm.wsspi.ssl.TrustManagerExtendedInfo proporciona información ampliada sobre la conexión que no proporciona la interfaz javax.net.ssl.X509TrustManager de JSSE (Java Secure Sockets Extension) estándar. El atributo trustManagerClass configurado determina las clases de las que el tiempo de ejecución crea una instancia, como se muestra en el siguiente ejemplo de código:
<trustManagers xmi:id="TrustManager_1132357815718" name="CustomTrustManager" 
trustManagerClass="com.ibm.ws.ssl.core.CustomTrustManager" 
managementScope="ManagementScope_1132357815717"/>
El atributo trustManagerClass debe implementar la interfaz javax.net.ssl.X509TrustManager y, opcionalmente, puede implementar la interfaz com.ibm.wsspi.ssl.TrustManagerExtendedInfo.

Inhabilitación del gestor de confianza por omisión

En algunos casos, es posible que no desee realizar la verificación estándar de certificados que proporcionan los gestores de confianza por omisión IbmX509 e IbmPKIX. Por ejemplo, es posible que esté trabajando con una infraestructura de prueba automática interna que no se ocupe de la autenticación de servidor o cliente SSL, la integridad o la confidencialidad. El siguiente código de ejemplo muestra un gestor de confianza personalizado básico como, por ejemplo, com.ibm.ws.ssl.core.CustomTrustManager, cuya propiedad se establece en true.
com.ibm.ssl.skipDefaultTrustManagerWhenCustomDefined=true 
Puede establecer esta propiedad en las propiedades globales que aparecen en la parte superior del archivo ssl.client.props para clientes o en el archivo de propiedades personalizadas security.xml para servidores. Debe configurar un gestor de confianza personalizado al inhabilitar el gestor de confianza predeterminado para evitar que el servidor llame al gestor de confianza predeterminado aunque esté configurado. La inhabilitación del gestor de confianza predeterminado no es una práctica habitual. Asegúrese de probar el sistema con el gestor de confianza predeterminado inhabilitado en un entorno de prueba primero. Para obtener más información sobre cómo configurar un gestor de confianza personalizado, consulte Creación de una configuración de gestor de confianza personalizado para SSL

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sslx509certtrustdecisions
File name: csec_sslx509certtrustdecisions.html