Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Se a pessoa tiver a sua url e tambem tiver todos os dados da cobrança sem você ter o mTLS, ela pode enviar um POST para a url e se seu sistema validar os dados enviados, vai interpretar que foi pago. Ja que em uma cobrança todos os dados são expostos e são abertos. Por isso a importancia do mTLS com o certificado da GN.

# pix
Avatar discord do usuario oleoessencial

oleoessencial

O cacique Apache ainda não fez a dança da chuva com a GN aqui na tribo SERVER. Eles ainda não apertaram as mãos com mTLS. Esta é o grande encontro esperado , por causa da pandemia, eles não podem hoje apertar as mãos sem os certificados.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

O certificado que eu vi provavelmente requer VerifyDepth 3 .

# pix
Avatar discord do usuario anoni_mato

anoni_mato

a menos que vc use um plano pago da Cloudflare que permita você subir um certificado no painel deles e configurar o API Shield para o hostname dos webhooks com o certificado que você mesmo subiu

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

o hostname que vai receber os requests (para as URLs registradas como webhook) precisa fechar um mTLS com o certificado fornecido pela GN, então não dá pra colocar atrás do Cloudflare (precisa deixar a "nuvem cinza" na página de DNS para o IP ficar exposto). mas os IPs podem ser filtrados diretamente no seu servidor, obviamente.

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia <@!781944293739986984>! Os únicos dois que funcionaram sem problemas no ambiente windows foi o Rest Framework da Embarcadero e o NetHttpClient nativo o qual o mesmo framework foi baseado.
Em ambos os casos, é necessário implementar o evento OnNeedClientCertificate
(unit System.Net.Url.Client -> TNeedClientCertificateEvent -> procedure(const Sender: TObject; const ARequest: TURLRequest; const ACertificateList: TCertificateList; var AnIndex: Integer) of object)
do componente usado. Este evento é acionado quando ao comunicação solicita o certificado do cliente, então deve-se implementar uma lógica que indique qual certificado deve ser utilizado com base nos certificados carregados do storage do windows, o qual são fornecedos como um parãmetro do evento (const ACertificateList: TCertificateList)
Então por via de regra, o certificado deve estar no storage, ou seja, instalado na maquina em questão.
Basta informar na variável Aindex o indice do certificado na lista.
O windows e o componente cuidarão do resto.
Quanto a versões, o Framework só da acesso a este método no Delphi 10.2.2

# pix
Avatar discord do usuario wfssoftware.

wfssoftware.

Ver Respostas

Sim, mas como não sei colocar o certificado estou fazendo via PHP, no Delphi eu apenas consumo

# pix
Avatar discord do usuario amandamiranda2492

amandamiranda2492

Ver Respostas

bom dia pessoal, alguem tem alguma ideia de como eu adiciono o certificado no meu codigo?

# pix
Avatar discord do usuario joelemanoel

joelemanoel

Agradeço ao pessoal da GerenciaNet, especialmente a <@!671763456487325717> pela ajuda :)
Já foi possível descompactar o certificado com a nova emissão.

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Qual o número do ticket que você solicitou o certificado <@!522899003663450113> ?

# pix
Avatar discord do usuario anoni_mato

anoni_mato

então o certificado emitido pelo Cloudflare poderia ser aceito sem quebrar a regra

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

"Os certificados digitais dos clientes da API poderão ser emitidos pelo próprio PSP ou
por ACs externas, conforme definido por cada PSP. Não deverão ser aceitos
certificados auto-assinados pelo cliente."

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

emitir um certificado é trivial, Rubens 😂 .. cadeia de certificação só é necessária quando vc não conhece previamente o seu interlocutor e precisa validar que "ele é quem diz ser". para criptografar a comunicação entre 2 pontas que sabem quem é quem e já se confiam mutuamente, o mTLS pode ser com qualquer certificado

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

na verdade acabei de ler o manual, e aparentemente apenas o certificado do https://qrcodes-pix.gerencianet.com.br (onde ficam os payloads dos QR dinâmicos) deve ser emitido por entidade amplamente reconhecida (e deve ser "EV", inclusive). já os certificados de mTLS pra consumo da API e pra envio dos callbacks não tem exigência de ser emitido por CA reconhecida.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

como a comunicação webhook (GN -> cliente) é privada, não vejo sentido na exigência de validar a entidade certificadora. acho que o BACEN viajou nessa 😦

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mesmo que o certificado possa ser enviado, a autoridade certificadora que o emitiu precisa ser validada pela GN. Senão seria aceito certificado auto-assinado ou equivalente, violando o manual de segurança.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

isso talvez até permita um nível menor de interação humana (pode ter uma configuração no painel da conta pra enviar o certificado)

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

ele só vai funcionar se vc seguir os 3 passos acima, e passar o certificado criado no passo 2 para a GN (e eles concordarem em usar esse certificado em vez do certificado que eles te passaram)

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Podemos levar essa sugestão de implementação para a nossa equipe, guardando o certificado gerado por vocês e exigindo o mesmo para a comunicação. Mas no momento o que está valendo é o nosso CA, você deve configurar o mesmo em seu VirtualHost para ter o hand-shake.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

na comunicação com a API, quem escolhe o arquivo de certificado sou eu. aí tanto faz quem emitiu, raízes, etc, a implantação é igual. mas só a CA não é suficiente no caso dos webhooks. pq o CF vai ter que validar o certificado específico na hora que receber o callback no hostname