Enviar mensagens Assinadas com Certificado - Parte 3

No primeiro post desta série, vimos como Obter um Certificado Digital.
Nesse segundo artigo, vimos como importar o Certificado e exportar suas Chaves Públicas e Privadas.

 
Nessa última parte veremos, como importar essa chave privada e pública para funcionar com o Biztalk.


Aqui vamos continuar exatamente de onde paramos no segundo artigo, e pressupor que seguimos as orientações descritas ali.
Isso inclui presumir que já estamos logados no servidor com o usuário certo, que já tomamos as devidas cautelas e que o mmc com o Certificado esta aberto, como na tela abaixo:


image

Importar Chave Privada do Certificado

Lembrando que devemos estar logados no servidor com o mesmo usuário do Host Instance.
  • Expanda o node Certificates – Current User – Personal – Certificates.
  • Clique com o botão direito  e em All Tasks –> Imports. Vai aparecer a seguinte tela:
image
  • Clique em Next.
  • No Botão Browse, procure o arquivo pfx que foi exportado no nosso Artigo anterior.
image
  • Clique em Next.
  • Digite a senha que foi usada ao exportar a chave privada.
image
  • Clique em Next.
Agora deve ser possível ver o certificado importado na pasta.
Em produção, é necessário repetir esse processo para cada servidor que pode receber ou enviar uma mensagem criptografada.

Importar Chave Pública do Certificado

  • Expanda o node Certificates (Local Computer) – Personal – Certificates.
  • Clique com o botão direito e em All Tasks –> Imports.
  • Vai aparecer a tela Certificate Import Wizard,  clique em Next.
  • Na próxima tela clique em Browse e procure a chave pública, o arquivo .cer, que foi exportado no Aritgo Anterior.
image

Criar o projeto em Biztalk

  • Crie um novo projeto chamado POC.TesteCertificado
  • Crie um schema simples pra receber uma mensagem, como na figura a seguir.
image
  • Crie duas orchestration com apenas o shape de Receive e Send. A idéia é ter uma orchestration que receba o arquivo aberto e envie-o encriptado e assinado. A outra orchestration faz a operação inversa: recebe o arquivo encriptado e envia aberto.
image
  • Crie um Receive Pipeline, com o nome ppl_R_POC_TesteCertificado.btp.
  • No estágio de Decode adicione um MIME/SMIME decoder.
  • No estágio de Disassemble adicione um XML Disassembler.

Nosso Receive Pipeline ficou assim:


image

  • Agora crie um Send Pipeline chamado ppl_S_POC_TesteCertificado.
  • No Estágio de Enconde adicione um MIME/SMIME enconder.

A seguir, como ficou o nosso Pipeline.


image


Finalmente nosso projeto ficou com a seguinte estrutura:


image

  • Crie uma chave com strong name e faça o deploy dessa solução normalmente.
  • Crie as apropriadas Receive e Send Port e deixe a aplicação funcionando.
OBS: Na orchestration btoEnviarArquivoCrip.odx, a Receive Port deve ter o Pipeline XML Disassembler e a Send Port deve usar o Pipeline criado ppl_S_POC_TesteCertificado.btp. Na orchestration btoRecebeArquivoCrip.odx, a Receive Port deve usar o Pipeline criado ppl_R_POC_TesteCertificado.btp e a Send Port podemos usar o Pass Trought Pipeline.

Configurar as Receive e Send Port  do Projeto

Ao receber mensagens encriptadas ou assinadas, o Biztalk usará a chave privada que foi instalada para executar a tarefa.
No Biztalk Administration Console, expanda o node dos Hosts.
Clique duas vezes no Host usado para receber as mensagens, no meu caso é o BiztalkServerApplication.


image

  • Clique em Certificates, e em Browse.
  • Na tela que irá aparecer, escolha o Certificado instalado e em OK.

Importante: O Certificado só vai aparecer, se o Usuário logado no servidor for o mesmo que está no Host Instance.


image

  • Clique em OK.
  • Ainda no Administration Console, clique duas vezes na Send Port que foi criada para enviar o arquivo criptgrafado, aquela que usa o Pipeline ppl_S_POC_TesteCertificado.
  • Clique o node Certificates e em Browse.
  • Procure a chave pública do certificado do nosso parceiro, para quem devemos enviar a mensagem. No nosso caso é o mesmo certificado da chave Privada.
  • Clique em OK.

Pronto, está configurado. É só testar.
Ao enviar um arquivo aberto, como esse:

image


Depois de criptado, ficou assim:

image

 

E aqui, o arquivo está somente assinado digitalmente:

image

Para habilitar ou desabilitar a criptografia, basta alterar a propriedade Enable Encryption do MIME/SMIME enconder, Send Pipeline, para True ou False.

Simples hein..


Então Recapitulando, nessa série de três artigos, vimos como criar uma requisição, obter e importar o certificado, além de ver como encryptar e assinar uma mensagem digitalmente,  configurando uma aplicação do Biztalk para trabalhar com esse certificado.

A Microsoft tem uma série de exemplos do Biztalk e tem um muito bom que explica como usar o Party Resolution, envolvendo certificados.
Bons Estudos. Até a próxima!


Já ajudou a comunidade hoje?

 

Seja o primeiro a comentar ;)

Postar um comentário

BizTalk 360

Visitas

Arquivo do blog