Skip to content

Pentaho Data Integration para geração de Password Digest e TimeStamp para SOAP-WS Security

License

Notifications You must be signed in to change notification settings

xjhowxjhow/Pentaho-Data-Integration-SOAP-WS-Security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pentaho Data Integration para geração de Password Digest e TimeStamp para SOAP-WS Security



Visão Geral

Este custom-step foi criado para gerar Password Digests e TimeStamps em conformidade com o padrão da OASIS Web Services Security Username Token Profile Version 1.1.1. Ele foi desenvolvido para ser usado em requisições SOAP e pode ser facilmente integrado em fluxos de transformação do Pentaho.

Detalhes Técnicos

UsernameToken

A lógica para geração do Password Digest foi implementada no step Java Class, na função pública:

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException{}.

A função foi construída utilizando Java e segue as especificações da OASIS. O Password Digest é gerado a partir do algoritmo SHA-1, que cria um hash da concatenação dos valores de Nonce, Created e Password. Em seguida, o hash é codificado em Base64.


Password_Digest = Base64 ( SHA-1 ( nonce + created + password ) )

Os seguintes campos é retornado para utilização e geração do Password Digest:

  • Password: Senha utilizada na geração do Password Digest.
  • Nonce: Valor aleatório utilizado na geração do Password Digest.
  • Created: Data e hora de criação do Password Digest, no formato "yyyy-MM-dd'T'HH:mm:ss'Z'".
  • Password Digest: Resultado da geração do Password Digest.
  • TokenID: Valor aleatório para a tag pai <wsse:UsernameToken wsu:Id=””>.

TimeStamp

Este custom-step também permite gerar TimeStamps para requisições SOAP. Que retorna os seguintes campos:

  • Created: Data e hora de criação do TimeStamp, no formato "yyyy-MM-dd'T'HH:mm:ss'Z'".
  • Expires: Data e hora de criação acrescido de um minuto para expiração.

Utilização

Para utilizar este custom-step, basta adicioná-lo ao fluxo de transformação do Pentaho e configurar o ÚNICO campo de entrada "PASSWORD". O resultado da geração do Password Digest será armazenado no campo "digest".

Dificuldades Encontradas

Durante o desenvolvimento deste custom-step, enfrentei dificuldades em encontrar informações sobre a integração do Pentaho com SOAP. No entanto, após pesquisa aprofundada e testes, consegui criar este gerador de Password Digest e TimeStamp em conformidade com as especificações da OASIS.

Conclusão

Com este custom-step, é possível gerar Password Digests e TimeStamps para requisições SOAP de forma rápida e fácil, seguindo as especificações da OASIS Web Services Security Username Token Profile Version 1.1.1. A implementação foi realizada no step Java Class, que é reconhecido pelo PDI no fluxo de steps, permitindo uma integração flexível e personalizada.