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:
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:
- Clique em Next.
- No Botão Browse, procure o arquivo pfx que foi exportado no nosso Artigo anterior.
- Clique em Next.
- Digite a senha que foi usada ao exportar a chave privada.
- Clique em Next.
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.
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.
- 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.
- 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:
- 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.
Finalmente nosso projeto ficou com a seguinte estrutura:
- 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.
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.
- 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.
- 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:
Depois de criptado, ficou assim:
E aqui, o arquivo está somente assinado digitalmente:
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?
Postar um comentário