Propiedades de configuración del emisor de SAML

Cuando cree una señal SAML autoemitida, puede especificar propiedades de configuración para controlar cómo se configura la señal. Las propiedades de configuración son pares de nombre/valor que describen información del lado del proveedor, como la ubicación de emisor y las vías de acceso de archivo almacén de claves y de almacén de confianza.

Las propiedades de configuración del emisor de SAML pueden almacenarse en un archivo de propiedades llamado SAMLIssuerConfig.properties. El archivo SAMLIssuerConfig.properties está en desuso en WebSphere Application Server versión 8.

A partir de WebSphere Application Server versión 8, también puede especificar estas propiedades en enlaces de política seguridad de servicios Web o en las API (interfaz de programación de aplicaciones) WSSGenerationContext de WSS (seguridad de servicios Web).

En la consola administrativa, las propiedades se establecen en las Propiedades personalizadas de salida de seguridad de servicios Web. Una ruta de ejemplo es Servicios > Conjuntos de políticas > Enlaces de conjunto de políticas del cliente general > Saml Bearer Client sample > WS-Security > Propiedades personalizadas. También puede establecer las propiedades en los enlaces de política de seguridad de servicios Web mediante la tarea administrativa setSAMLIssuerConfigInBinding. Para obtener más información, consulte Gestión de la configuración de señales autoemitidas SAML utilizando mandatos de wsadmin.

En los enlaces de WS-Security, estas propiedades también pueden establecerse en el consumidor de señales SAML o el manejador de devolución de llamada del consumidor de señales SAML. La prioridad, de mayor a menor, es: manejador de devolución de llamada, consumidor de señales, propiedades personalizadas generales.

Si se utiliza el generador de señales SAML para autoemitir una señal SAML utilizando los enlaces de WS-Security, hay dos rutas que se pueden seguir para generar la señal:
  1. Generar la señal autoemitida a partir de cero.
  2. Generar la señal autoemitida basándose en una señal ya existente en el sujeto runAs. Si no hay ninguna señal presente en el sujeto, la señal se creará a partir de cero.
Avoid trouble Avoid trouble: Si desea asegurarse de que la señal autoemitida se genere a partir de cero, la propiedad personalizada NameID debe establecerse en el manejador de devolución de llamada del generador de señales SAML. Si la propiedad NameID no está establecida en el manejador de devolución de llamada del generador de señales y no hay ninguna señal SAML en el sujeto runAs, NameID en el sujeto de la señal se establecerá en UNAUTHENTICATED.gotcha

Si se utiliza el generador de señales SAML para autoemitir una señal SAML utilizando las WSSAPI, las propiedades personalizadas se añaden directamente a com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext utilizando un HashMap. Consulte el javadoc correspondiente a com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext para obtener más información.

Si va a crearse una señal SAML autoemitida mediante la WSSAPI com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory, el método SAMLTokenFactory.newDefaultProviderConfig() devuelve un objeto com.ibm.wsspi.wssecurity.saml.config.ProviderConfig que contiene valores de objeto establecidos en las propiedades especificadas en el archivo SAMLIssuerConfig.properties. Si no se especifica ningún archivo SAMLIssuerConfig.properties, que es el tipo de programación recomendado, se devolverá un objeto ProviderConfig con contenido vacío. Utilice métodos de establecimiento ProviderConfig para llenar su contenido. Consulte el javadoc de com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory para obtener más información.

Ubicación del archivo SAMLIssuerConfig.properties

En cada servidor se crea y se almacena un solo archivo de configuración, SAMLIssuerConfig.properties, que contiene las propiedades del lado del proveedor. En un servidor WebSphere, el archivo está ubicado en el repositorio a nivel de servidor o en el repositorio a nivel de célula. En un entorno que no está basado en WebSphere, la ubicación del archivo la define una propiedad del sistema Java™. El nombre de esta propiedad es com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath.

Por ejemplo, la ubicación del archivo en el nivel de servidor en un servidor WebSphere es: raíz_servidor_aplicaciones/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

La ubicación del archivo en el nivel de célula en un servidor WebSphere es: raíz_servidor_aplicaciones/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

Propiedades de la señal SAML

La tabla siguiente describe las propiedades de configuración de proveedor.
Tabla 1. Propiedades para configurar información de proveedor para una nueva señal SAML. Utilice estas propiedades para controlar cómo se crea la señal. Esta tabla muestra las propiedades utilizadas en el archivo SAMLIssuerConfig.properties y en los enlaces de política de seguridad de servicios Web.
Nombre de propiedad de SAMLIssuerConfig.properties Nombre de la propiedad de enlaces de política Valor de propiedad de ejemplo Descripción de la propiedad
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature true Utilícese solamente si está estableciendo la propiedad personalizada de JVM com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty en true. Consulte el tema Propiedades personalizadas de la máquina virtual Java (JVM) si desea una descripción del momento en que puede utilizar esta propiedad personalizada de JVM.
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName Valor para el atributo Format del elemento Emisor en la señal SAML.
Nota: Si desea añadir el atributo Format al elemento Emisor, deberá especificar esta propiedad.
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer URI del emisor.
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 Periodo de tiempo antes de que caduque la señal. Esta propiedad se utiliza para establecer los atributos de NotOnOrAfter en la señal. NotOnOrAfter se establece en (horaActual)+TiempoDeVida+(desfaseHorarioActual).
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode Una referencia a un almacén de claves gestionado en security.xml que contiene la clave de firma.
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath raíz_servidor_aplicaciones/etc/ws-security/samples/dsig-receiver.ks La ubicación del archivo de almacén de claves que contiene la clave de firma.
Nota: Debe modificar el valor predeterminado para que coincida con la ubicación de vía de acceso para el sistema.
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS El tipo de almacén de claves.
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword contraseña La contraseña del archivo de almacén de claves (la contraseña debe estar codificada con XOR). Para obtener más información, consulte la codificación de contraseñas en archivos.
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias soapprovider Alias de la clave privada de firma según se define en el archivo de almacén de claves.
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP Nombre de la clave privada de firma según se define en el archivo de almacén de claves. Este nombre es para referencia y no se evalúa en tiempo de ejecución.
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword contraseña La contraseña de la clave privada tal como se ha definido en el archivo de almacén de claves (la contraseña debe estar codificada con XOR).
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode Una referencia a un almacén de claves gestionado en security.xml que contiene el certificado de cifrado.
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath raíz_servidor_aplicaciones/etc/ws-security/samples/dsig-receiver.ks La ubicación del archivo de almacén que contiene el certificado de cifrado.
Nota: Debe modificar el valor predeterminado para que coincida con la ubicación de vía de acceso para el sistema.
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS El tipo de almacén del archivo de almacén que contiene el certificado de cifrado.
Contraseña de almacén de confianza com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword contraseña La contraseña del archivo de almacén que contiene el certificado de cifrado.
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.mycompany.SAML.AttributeProviderImpl Clase de implementación del proveedor de atributo.
Nota: La clase debe implementar javax.security.auth.callback.CallbackHandler. La clase debe recibir el objeto de devolución de llamada com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback o com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback y, a continuación, actualizar la lista SAMLAttribute recibida del método getSAMLAttributes invocado desde ese objeto.

Para obtener más información, consulte la sección Adición de atributos a señales SAML autoemitidas mediante la API.

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient La entrada en el archivo de almacén proporcionado en la propiedad TrustStore que contiene el certificado público que se utilizará para cifrar la señal SAML. Cuando se genera una señal autoemitida con las API, un alias establecido en RequesterConfig utilizando el método setKeyAliasForAppliesTo tendrá prioridad sobre el valor proporcionado para esta propiedad.
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML true Establezca esta propiedad en true si desea generar una señal SAML cifrada. El valor predeterminado para esta propiedad es false.

Cuando genera una señal autoemitida con las API, también puede indicar que desea cifrar la señal SAML utilizando el método setEncryptSAML(true) en el objeto RequesterConfig. La señal SAML se cifrará si setEncryptSAML=true en el objeto RequesterConfig o si la propiedad personalizada EncryptSAML se establece en true.

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.mycompany.SAML.NameIDProviderImpl Clase de implementación del proveedor de ID de nombre.
Nota: La clase debe implementar javax.security.auth.callback.CallbackHandler. La clase debe recibir el objeto de devolución de llamada com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback y, a continuación, llamar al método setSAMLNameID en ese objeto para actualizar NameID.

Para obtener más información, consulte la sección Personalización de NameID para señales SAML autoemitidas mediante la API.

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature true Establezca esta propiedad en true para utilizar el algoritmo de firma SHA-2, http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, cuando se firme la señal SAML.

Ejemplo

Consulte el ejemplo siguiente de un archivo de propiedades de configuración de señal SAML:
IssuerURI=http://www.websphere.ibm.com/SAML/SelfIssuer
TimeToLiveMilliseconds=3600000
KeyStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
KeyStoreType=JKS
KeyStorePassword={xor}LDotKTot
KeyAlias=soapprovider
KeyName=CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP
KeyPassword={xor}LDotKTot
TrustStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
TrustStoreType=JKS
TrustStorePassword={xor}LDotKTot 

Icon that indicates the type of topic Reference topic



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