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.
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=””>.
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.
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".
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.
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.