Transformação de Asserções de Política e Ligação para WSDL
O Web Services Security não suporta totalmente o padrão do OASIS WS-SecurityPolicy Versão 1.2. Entretanto, várias das asserções de política e ligação suportadas pelo WebSphere Application Server podem ser transformadas e representadas como asserções do WS-SecurityPolicy Versão 1.2. As asserções suportadas são transformadas quando uma solicitação do Web Services Description Language (WSDL) ou do Web Services Metadata Exchange (WS-MEX) é recebida em uma mensagem e, também, quando o cliente recebe uma política contendo asserções do WS-SecurityPolicy 1.2.
Quando o WebSphere Application Server recebe uma solicitação WSDL ou WS-MEX, algumas asserções de política e ligação são transformadas em asserções padrão e incluídas na política que é integrada ao WSDL. Além disso, quando o cliente recebe uma política contendo essas asserções WS-SecurityPolicy, as asserções são transformadas novamente em asserções específicas do produto para que o tempo de execução do Servidor de Aplicativos possa processá-las. Essa transformação fornece interoperabilidade entre o Servidor de Aplicativos e outros sistemas que suportam o padrão WS-SecurityPolicy versão 1.2.
As seguintes asserções WS-SecurityPolicy 1.2 podem ser representadas na política retornada no WSDL, ou em um pedido WS-MEX.
- EncryptSignature
- Representado no produto utilizando expressões XPath nos elementos criptografados.
- EncryptBeforeSigning
- O atributo de ordem dos elementos encryptionInfo e signingInfo na seção de saída das ligações determina a ordem em que ocorre a transformação, e se essa asserção é definida. O comportamento padrão é assinar antes de criptografar.
- ContentEncryptedElements
- Representado utilizando expressões XPath que terminam com /node() nos elementos criptografados. O Servidor de Aplicativos pode consumir essa asserção de política, mas expressões XPath existentes que terminam com /node() não são transformadas.
- KerberosToken
- Representado utilizando o token customizado na política e nas ligações. A asserção de token customizado do Kerberos especifica um nome local http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ ou http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#Kerberosv5_AP_REQ, dependendo do tipo de token Kerberos desejado. Além disso, há uma propriedade customizada nas ligações, com.ibm.wsspi.wssecurity.krbtoken.requireDerivedKey, que especifica o uso de chaves derivadas para Kerberos. Utilizando o nome local do token customizado, com a propriedade customizada de chave derivada da representação do produto, uma representação equivalente da Versão 1.2 pode ser criada.
- Require<variable>Reference, em que <variable> é um dos seguintes: KeyIdentifier, IssuerSerial, EmbeddedToken ou Thumbprint
- Representado utilizando o atributo de tipo em keyInfo nas ligações.
- MustSupportRef<variable>, em que <variable> é um dos seguintes: KeyIdentifier, IssuerSerial, EmbeddedToken ou Thumbprint
- Essa asserção não é representada nas políticas do WebSphere Application Server, mas o produto suporta os quatro tipos de referências.
- Proteção do elemento SignatureConfirmation
- O elemento SignatureConfirmation é assinado e criptografado implicitamente. Entretanto, se nada estiver criptografado na resposta, o elemento SignatureConfirmation não foi criptografado e, se nada estiver assinado assinado na resposta, o elemento SignatureConfirmation não foi assinado. Todas as expressões XPath que representam a assinatura ou a criptografia do elemento SignatureConfirmation são removidas da política durante a transformação. O atributo explicitlyProtectSignatureConfirmation na ligação da Segurança dos Serviços da Web é fornecido para desativar a assinatura e a criptografia implícitas do elemento SignatureConfirmation na mensagem de resposta. Isso fornece interoperabilidade com o WebSphere Application Server Versão 6.1.x. Para incluir o atributo, marque a opção Desativar proteção implícita para Confirmação de Assinatura no painel Autenticação e Proteção das ligações dos conjuntos de política padrão. Se o atributo explicitlyProtectSignatureConfirmation estiver presente na ligação, todas as expressões XPath que representam a assinatura ou a criptografia do elemento SignatureConfirmation permanecerão inalteradas durante a transformação.
- SC13SecurityContextToken
- A Versão 1.3 do Token de Contexto de Segurança é suportada especificando o nome local http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512 na ligação para o token de contexto de segurança.
- RequireImpliedDerivedKeys
- Isso é suportado com a inclusão da propriedade customizada, com.ibm.ws.wssecurity.token.generateImpliedDerivedKey, nas ligações de gerador de token.
- ExactlyOne
- Essa asserção é transformada quando os responsáveis pela chamada são chamados. Os
responsáveis pela chamada especificam qual token usar para autenticação. A asserção
ExactlyOne comunica os tokens do responsável pela chamada que o serviço espera. Todas as opções do responsável pela chamada
são colocadas dentro da asserção <ExactlyOne> e cada opção é colocada
dentro da asserção <wsp:All>. Como o nome indica, o cliente envia apenas
um dos tipos de token. Por exemplo, nas ligações do lado do servidor, utilizando a representação do produto,
as seguintes opções do responsável pela chamada são especificadas:
<caller order="1"> <jAASConfig configName="system.wss.caller"/> <callerIdentity uri="" localName="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"/> </caller> <caller order="2"> <jAASConfig configName="system.wss.caller"/> <callerIdentity localName="LTPA" uri="http://www.ibm.com/websphere/appserver/tokentype/5.0.2" /> </caller>
Essa asserção indica que um token UsernameToken ou LTPA é utilizado como o responsável pela chamada. O requisito para usar um desses dois tipos de tokens é comunicado ao cliente na política transformada, como no exemplo a seguir:<sp:ExactlyOne> <wsp:All> <sp:SupportingTokens> <wsp:Policy wsu:Id="request:token_auth"> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10 /> </wsp:Policy> </sp:UsernameToken> </wsp:Policy> </sp:SupportingTokens> </wsp:All> <wsp:All> <sp:SupportingTokens> <wsp:Policy wsu:Id="request:token_auth"> <spe:LTPAToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient" /> </wsp:Policy> </sp:SupportingTokens> <wsp:All> </sp:ExactlyOne>
As asserções LTPAToken e LTPAPropagationToken de política específica do produto não são alteradas durante a transformação. Essas asserções serão incluídas na política integrada do WSDL se estiverem presentes na política sendo transformada. Isso permite que um cliente do WebSphere Application Server e um provedor de serviços do WebSphere Application Server interoperem.