Consumir webservice REST (certificado digital) com Delphi
Como faço para consumir um webservice REST passando um certificado digital (em DELPHI)?
A segurança do portal é baseada em SSL/TLS, sendo obrigatória a utilização de certificados digitais. Ao acionar o serviço de autenticação, será preciso realizar o processo de handshake SSL entre a aplicação cliente e o portal, apresentando um certificado digital válido e reconhecido pelo SERPRO. Após a validação do certificado, o portal consultará a base autorizativa a fim de identificar o perfil do usuário proprietário do certificado digital. O serviço suporta certificados A1 e A3, do padrão ICP-Brasil.
Em resumo, o processo acontece da seguinte forma:
1. O cliente inicia o pedido de conexão com o serviço;
2. O serviço retorna o seu certificado assinado para que seja verificado pelo cliente;
3. O cliente verifica a sequência de cadeias de autoridades certificadoras presentes no certificado e compara com as cadeias presentes na TrustStore local.
4. O cliente envia o seu certificado encapsulado em uma Keystore para que seja reconhecido pelo servidor;
5. O servidor valida o certificado do cliente;
6. O processo de handshake é finalizado e o cliente pode realizar a requisição ao serviço.
A segurança do portal é baseada em SSL/TLS, sendo obrigatória a utilização de certificados digitais. Ao acionar o serviço de autenticação, será preciso realizar o processo de handshake SSL entre a aplicação cliente e o portal, apresentando um certificado digital válido e reconhecido pelo SERPRO. Após a validação do certificado, o portal consultará a base autorizativa a fim de identificar o perfil do usuário proprietário do certificado digital. O serviço suporta certificados A1 e A3, do padrão ICP-Brasil.
Em resumo, o processo acontece da seguinte forma:
1. O cliente inicia o pedido de conexão com o serviço;
2. O serviço retorna o seu certificado assinado para que seja verificado pelo cliente;
3. O cliente verifica a sequência de cadeias de autoridades certificadoras presentes no certificado e compara com as cadeias presentes na TrustStore local.
4. O cliente envia o seu certificado encapsulado em uma Keystore para que seja reconhecido pelo servidor;
5. O servidor valida o certificado do cliente;
6. O processo de handshake é finalizado e o cliente pode realizar a requisição ao serviço.
Marcio Almeida
Curtidas 4
Respostas
Robson Gregio
11/07/2018
Boa noite!
Estou com o mesmo problema... conseguiu descobrir algo?
Obrigado!
Estou com o mesmo problema... conseguiu descobrir algo?
Obrigado!
GOSTEI 0
João Alberto
11/07/2018
Boa noite!
Estou com o mesmo problema... conseguiu descobrir algo?
Obrigado!
Estou com o mesmo problema... conseguiu descobrir algo?
Obrigado!
Eu também estou com a mesma dificuldade, eu consegui fazer usando os componentes TIdHTTP e TSSLIOHandlerSocketOpenSSL mas só funciona com A1.
GOSTEI 0
Gledstonprego
11/07/2018
sei que o post é antigo mas ainda estão com este problema?
GOSTEI 0