Propriedades de configuração do emissor SAML
Ao criar um novo token SAML autoemitido, é possível especificar propriedades de configuração para controlar como o token é configurado. As propriedades de configuração são pares de nome/valor que descrevem informações no lado do provedor, como a localização do emissor e os caminhos do arquivo de armazenamento confiável e do keystore.
As propriedades de configuração do emissor SAML podem ser armazenadas em um arquivo de propriedade chamado SAMLIssuerConfig.properties. O uso do arquivo SAMLIssuerConfig.properties foi descontinuado no WebSphere Application Server versão 8.
A partir do WebSphere Application Server versão 8, também é possível especificar essas propriedades em ligações de políticas de WS-Security ou no WSSGenerationContext das Interfaces de Programação de Aplicativos (APIs) do Web Services Security (WSS).
No console administrativo, as propriedades são configuradas nas Propriedades Customizadas de Saída do WS-Security. Um exemplo de caminho seria
. Também é possível configurar as propriedades nas ligações de política de WS-Security usando a tarefa administrativa setSAMLIssuerConfigInBinding. Para obter informações adicionais, consulte Gerenciando a configuração de token SAML de emissão automática usando comandos wsadmin.Nas ligações de Segurança WS, estas propriedades também podem ser configuradas no consumidor de token SAML ou manipulador de retorno de chamada do consumidor de token SAML. A precedência, de alta para baixa, é: manipulador de retorno de chamada, consumidor de token, propriedades customizadas gerais.
- Gere o token autoemitido a partir do zero.
- Gere o token autoemitido com base em um token que esteja presente no assunto runAs. Se nenhum token estiver presente no assunto, o token será construído a partir do zero.

Se o gerador de token SAML for usado para emitir automaticamente um token SAML usando as WSSAPIs, as propriedades customizadas serão incluídas diretamente no com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext usando um HashMap. Consulte o javadoc de com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext para obter informações adicionais.
Se um token SAML de emissão automática for criado usando a WSSAPI com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory, o método SAMLTokenFactory.newDefaultProviderConfig() retornará um objeto com.ibm.wsspi.wssecurity.saml.config.ProviderConfig que possui valores de objetos configurados para as propriedades especificadas no arquivo SAMLIssuerConfig.properties. Se nenhum arquivo SAMLIssuerConfig.properties for especificado, que é o estilo de programação recomendado, será retornado um objeto ProviderConfig com conteúdo vazio. Use métodos setter ProviderConfig para preencher o conteúdo. Consulte o javadoc de com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory para obter informações adicionais.
Local do Arquivo SAMLIssuerConfig.properties
Um arquivo de configuração único, SAMLIssuerConfig.properties, contendo as propriedades do lado do provedor é criado e armazenado em cada servidor. Em um servidor WebSphere, o arquivo está localizado no repositório em nível do servidor ou no repositório em nível de célula. Em um ambiente que não é baseado no WebSphere, o local do arquivo é definido por uma propriedade de sistema Java™. O nome desta propriedade é com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath.
Por exemplo, o local do arquivo no nível do servidor em um servidor WebSphere é:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties
O local do arquivo no nível da célula em um servidor WebSphere é:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties
Propriedades de Token SAML
Nome da propriedade SAMLIssuerConfig.properties | Nome da propriedade de ligações de políticas | Valor da propriedade de amostra | Descrição da Propriedade |
---|---|---|---|
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature | com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature | verdadeiro | Use apenas se estiver configurado a propriedade customizada JVM com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty como true. Consulte o tópico Propriedades customizadas da Java Virtual Machine (JVM) para obter uma descrição de quando é possível usar essa propriedade customizada JVM. |
IssuerFormat | com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat | urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName | O valor do atributo Format do elemento Issuer
no token SAML.
Nota: Se desejar incluir o atributo Format no elemento
Issuer, você deverá especificar esta propriedade.
|
IssuerURI | com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI | http://www.websphere.ibm.com/SAML/SelfIssuer | A URI do emissor. |
TimeToLiveMilliseconds | com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds | 3600000 | Quantidade de tempo antes da expiração do token. Essa propriedade é usada para configurar os atributos NotOnOrAfter no token. NotOnOrAfter é configurado como (currentTime)+TimeToLive+(currentClockSkew). |
KeyStoreRef | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef | name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode | Uma referência a um keystore gerenciado em security.xml que contém a chave de assinatura. |
KeyStorePath | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath | app_server_root/etc/ws-security/samples/dsig-receiver.ks | O local do arquivo keystore que contém a chave de assinatura. Nota: Você deve modificar este valor a partir do
valor padrão para corresponder ao local do caminho
para seu sistema.
|
KeyStoreType | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType | JKS | O tipo de keystore. |
KeyStorePassword | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword | password | A senha do arquivo keystore (a senha deve ser codificada com XOR). Para obter informações adicionais, leia sobre como codificar senhas em arquivos. |
KeyAlias | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias | soapprovider | O alias da chave privada de assinatura conforme definido no keystore. |
KeyName | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName | CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP | O nome da chave privada de assinatura conforme definido no arquivo keystore. Esse nome é para referência e não é avaliado pelo tempo de execução. |
KeyPassword | com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword | password | A senha da chave privada conforme definida no arquivo keystore (a senha deve ser codificada por XOR). |
TrustStoreRef | com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef | name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode | Uma referência a um keystore gerenciado em security.xml que contém o certificado de criptografia. |
TrustStorePath | com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath | app_server_root/etc/ws-security/samples/dsig-receiver.ks | O local do arquivo de armazenamento que contém o certificado de criptografia. Nota: Você deve modificar este valor a partir do
valor padrão para corresponder ao local do caminho
para seu sistema.
|
TrustStoreType | com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType | JKS | O tipo de armazenamento do arquivo de armazenamento que contém o certificado de criptografia. |
TrustStorePassword | com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword | password | A senha do arquivo de armazenamento que contém o certificado de criptografia. |
AttributeProvider | com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider | com.mycompany.SAML.AttributeProviderImpl | Classe de implementação do provedor de atributos. Nota: A classe deve implementar
javax.security.auth.callback.CallbackHandler. A classe deve receber o objeto de retorno de chamada com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback
ou com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback, então, atualize a lista
SAMLAttribute recebida do método
getSAMLAttributes chamado desse objeto.
Para obter informações adicionais, consulte Incluindo atributos para tokens SAML de emissão automática usando a API. |
EncryptingAlias | com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias | soaprecipient | A entrada no arquivo de armazenamento fornecido na propriedade Armazenamento Confiável que contém o certificado público que será usado para criptografar o token SAML. Ao gerar um token autoemitido com APIs, um alias configurado no RequesterConfig usando o método setKeyAliasForAppliesTo terá precedência sobre o valor fornecido para essa propriedade. |
EncryptSAML | com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML | verdadeiro | Configure essa propriedade para true se desejar
gerar um token SAML criptografado. O valor-padrão para esta propriedade é false. Ao gerar um token autoemitido com APIs, também é possível indicar que você deseja criptografar o token SAML usando o método setEncryptSAML(true) no objeto RequesterConfig. O token SAML será criptografado se setEncryptSAML=true no objeto RequesterConfig ou a propriedade customizada EncryptSAML for configurada para true. |
NameIDProvider | com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider | com.mycompany.SAML.NameIDProviderImpl | Classe de implementação do provedor de ID de nome. Nota: A classe deve implementar
javax.security.auth.callback.CallbackHandler. A classe deve receber o objeto de retorno de chamada com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback, em seguida, chamar o método setSAMLNameID nesse objeto para atualizar o
NameID.
Para obter informações adicionais, consulte Customizando o NameID para tokens SAML de emissão automática usando a API. |
UseSha2ForSignature | com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature | verdadeiro | Configure essa propriedade para true para usar o algoritmo de assinatura SHA-2, http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, ao assinar o token SAML. |
Exemplo:
Consulte o seguinte exemplo de um arquivo de propriedades de configuração do token 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