Escolhendo Métodos de Criptografia para Ligações de Gerador
Para configurar o cliente para criptografia de pedido para a ligação do gerador, é necessário especificar quais métodos de criptografia utilizar quando o cliente criptografar as mensagens SOAP.
Antes de Iniciar
Antes de concluir estas etapas, leia as informações de criptografia XML para familiarizar-se com a criptografia e a decriptografia das mensagens SOAP.
- Utilize a API WSSEncryption para configurar o algoritmo de criptografia de dados e os métodos do algoritmo de criptografia de chave.
- Utilize a API WSSEncryptPart para configurar o método de algoritmo de transformação, se necessário. O padrão é nenhum algoritmo de transformação.
Sobre Esta Tarefa
Algumas das definições relacionadas à criptografia são baseadas na especificação XML-Encryption. As seguintes informações definem alguns termos relacionados à criptografia de dados.
- Algoritmo do Método de Criptografia de Dados
- Os algoritmos de criptografia de dados especificam o URI (Identificador
Uniforme de Recursos) do algoritmo do método de criptografia de dados. Este algoritmo criptografa e decriptografa os dados em blocos de tamanho fixo
de vários octetos.
Por padrão, o JCE (Java™ Cryptography Extension) é fornecido com criptografias de força restritas ou limitadas. Para utilizar algoritmos de criptografia AES (Advanced Encryption Standard) de 192 bits e 256 bits, aplique arquivos de políticas de jurisdição limitada.
Para os algoritmos AES256-cbc e AES192-cbc, você deve fazer download dos arquivos de política Java™ Cryptography Extension (JCE) irrestritos a partir do seguinte website: http://www.ibm.com/developerworks/java/jdk/security/index.html.
- Algoritmo do Método de Criptografia de Chaves
- Os algoritmos de criptografia de chave especificam o URI (Identificador
Uniforme de Recursos) do algoritmo do método para criptografar a chave que é
utilizada para criptografar os dados. O algoritmo representa os algoritmos de
criptografia de chave públicas que são especificados para criptografar e
decriptografar as chaves.
Por padrão, o algoritmo RSA-OAEP utiliza o algoritmo de compilação de mensagens SHA1 para computar uma compilação de mensagens como parte da operação de criptografia. Opcionalmente, você pode utilizar o algoritmo de compilação de mensagem SHA256 ou SHA512 ao especificar uma propriedade do algoritmo de criptografia de chave.
O nome da propriedade é: com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. O valor da propriedade é um dos seguintes URIs do método de compilação:- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmlenc#sha512
Por padrão, o algoritmo RSA-OAEP utiliza uma cadeia nula para a cadeia em octeto com codificação opcional para o OAEPParams. É possível fornecer uma cadeia em octeto com codificação explícita ao especificar uma propriedade de algoritmo de criptografia de chave. Para o nome da propriedade, é possível especificar com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams. O valor da propriedade é o valor codificado na base 64 da cadeia em octeto.
Importante: É possível configurar este método de compilação e as propriedades OAEPParams apenas no lado do gerador. Do lado do consumidor, estas propriedades são lidas a partir da mensagem SOAP recebida.Para os algoritmos de criptografia de chave KW-AES256 e KW-AES192, você deve fazer download dos arquivos de política JCE irrestritos a partir do seguinte website: http://www.ibm.com/developerworks/java/jdk/security/index.html.
Importante: O país de origem pode restringir a importação, posse, uso ou a reexportação para outro país de software de criptografia. Antes de fazer o download ou de usar os arquivos de políticas não-restritas, você deverá consultar as leis do seu país, as regulamentações e as políticas referentes à importação, posse, uso e reexportação do software criptografado para determinar se ele é permitido.
Tipos de Uso | Description |
---|---|
Criptografia de Dados | Especifica o URI do algoritmo utilizado para criptografia e decriptografia de dados. Criptografa e decriptografa os dados em blocos de tamanho fixo de vários octetos. |
Criptografia de Chave | Especifica o URI do algoritmo utilizado para criptografia e decriptografia da chave de criptografia. |
Criptografia de Dados
O WebSphere Application Server suporta os seguintes algoritmos de criptografia de dados pré-configurados:
Nome de Criptografia de Dados | URI de Algoritmo |
---|---|
WSSEncryption.AES128 (valor padrão) | Um URI do algoritmo de criptografia de dados, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc |
WSSEncryption.AES192 | Um URI do algoritmo de criptografia de dados, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc |
WSSEncryption.AES256 | Um URI do algoritmo de criptografia de dados, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc |
WSSEncryption.TRIPLE_DES | Um URI do algoritmo de criptografia de dados, 3DES: http://www.w3.org.2001/04/xmlenc#tripledes-cbc |
Criptografia de Chave
O WebSphere Application Server suporta os seguintes algoritmos de criptografia de chaves pré-configurados:
Nome de Criptografia de Chave | URI de Algoritmo |
---|---|
WSSEncryption.KW_AES128 | Um URI de algoritmo de criptografia de chave, AES 128 de agrupamento de chave: http://www.w3.org/2001/04/xmlenc#kw-aes128 |
WSSEncryption.KW_AES192 | Um URI de algoritmo de criptografia de chave, AES 192 de agrupamento de chave: http://www.w3.org/2001/04/xmlenc#kw-aes192 Restrição: Não utilize o algoritmo de criptografia de chave de 192 bits se quiser que seu aplicativo configurado seja compatível com o BSP (Basic Security Profile).
|
WSSEncryption.KW_AES256 | Um URI de algoritmo de criptografia de chave, AES 256 de agrupamento de chave: http://www.w3.org/2001/04/xmlenc#kw-aes256 |
WSSEncryption.KW_RSA_OAEP (valor padrão) | Um URI de algoritmo de criptografia de chave, RSA OAEP de agrupamento de chave: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
WSSEncryption.KW_RSA15 | Um URI de algoritmo de criptografia de chave, RSA 1.5 de agrupamento de chave: http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
WSSEncryption.KW_TRIPLE_DES | http://www.w3.org/2001/04/xmlenc#kw-tripledes |
Para configurar os métodos de algoritmo da parte criptografada e de criptografia, utilize a API WSSEncryption ou configure os conjuntos de política, utilizando o console administrativo.
O processo WSS API conclui as seguintes etapas de alto nível para especificar quais métodos de criptografia utilizar ao configurar o cliente para criptografia de pedido:
Procedimento
Resultados
Exemplo
O seguinte exemplo fornece o código WSS API de amostra utilizando WSSEncryption.setEncryptionMethod() e WSSEncryption.setKeyEncryptionMethod().
// Get the message context
Object msgcontext = getMessageContext();
// Gerar a instância do WSSFactory
WSSFactory factory = WSSFactory.getInstance();
// Gerar a instância do WSSGenerationContext
WSSGenerationContext gencont = factory.newWSSGenerationContext();
// Gerar o manipulador de retorno de chamada
X509GenerateCallbackHandler callbackHandler = new
X509GenerateCallbackHandler(
"",
"enc-sender.jceks",
"jceks",
"storepass".toCharArray(),
"bob",
null,
"CN=Bob, O=IBM, C=US",
null);
// Gerar o token de segurança utilizado para criptografia
SecurityToken token = factory.newSecurityToken(X509Token.class , callbackHandler);
// Gerar a instância do WSSEncryption
WSSEncryption enc = factory.newWSSEncryption(token);
// Configurar o método de criptografia de dados
// DEFAULT: WSSEncryption.AES128
enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);
// Configurar o método de criptografia de chave
// DEFAULT: WSSEncryption.KW_RSA_OAEP
enc.setEncryptionMethod(WSSEncryption.KW_RSA15);
// Incluir o WSSEncryption no WSSGenerationContext
gencont.add(enc);
// Gerar o cabeçalho WS-Security
gencont.process(msgcontext);
O que Fazer Depois
Em seguida, se você deseja incluir um algoritmo de transformação, reveja a tarefa do processo de API WSSEncryptPart.