Histórico de mensagens sobre certificados em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificados
Canal: pix
Avatar discord do usuario rafaelturk8530

rafaelturk8530

ou seja.. todos aqui gastaram uma bela energia configurando este ambiente. com vários certificados. complexos, crt, key etc

Avatar discord do usuario oleoessencial

oleoessencial

#atualização Mais um capítulo hoje da SAGA DO PIX. Podemos escrever nos nossos Diários "FIZEMOS PROGRESSO" e desta vez com o bendito do mTLS. Se você não tem a mínima noção de como ter : Um Servidor VPS no Brasil, a instalação dos Certificados de Desenvolvimento e Produção da GN, as duas habilitações do mTLS para o seu negócio ... PERGUNTE-ME COMO !!! mTLS , a segurança do seu sistema conversando com o webhook da Gerencianet, receba o seu retorno de webhook 🙂 Amanhã teremos mais um capítulo da mini-série = "Conversando com o webhook, um papo de valor" 🙂

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!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 fornecidos 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 índice 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

Avatar discord do usuario rubenskuhl

rubenskuhl

No caso da API do Registro.br, que tem também TLS com certificados server-side e client-side, a gente já diz que precisa ser ambiente não compartilhado.

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.

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

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

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.

Avatar discord do usuario sady_efi

sady_efi

No caso do certificado, para facilitar a emissão e manutenção, uma vez que nem todos dispõem de recursos para tal, optamos pela geração dos certificados

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O BACEN não especifica isso. O que sugerimos e está sendo considerado pela GN é dos clientes mandarem um CSR e receberem um certificado. Ter todos os certificados na mesma Sub-CA é uma medida de escalabilidade bastante razoável, IMHO.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Como a cadeia de certificados foi mudada eu imagino que mais bancos tenham mudado. Tem um QR dinâmico aí da GN para testar ?

Avatar discord do usuario leaftecnologia

leaftecnologia

boa noite! procurei no canal mas não encontrei, na minha conta estou recebendo o seguinte erro
Nonexistent certificate for specified account
já recebi os certificados e já inclui no postman, esse erro diz que o certificado não está vinculado a minha conta?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Há diversos motivos afetando interoperabilidade... um deles é da cadeia de certificados do QR-Code dinâmico, que alguns estão testando a presença de um certificado âncora e outros não.

Avatar discord do usuario rubenskuhl

rubenskuhl

Pq inicialmente o Nubank não parecia estar checando nada dos certificados, mas isso pode ter mudado.

Avatar discord do usuario d3xt3r.com

d3xt3r.com

context.load_verify_locations('caminho-certificados/certificado-público-Gerencianet.crt')
context.load_cert_chain(
'caminho-certificados/privkey.pem',
'caminho-certificados/privkey.pem')
app.run(ssl_context=context, host='0.0.0.0')

público-Gerencianet.crt (baixei o que disponibilizou na documentação)
caminho-certificados/privkey.pem (utilizei o que me mandaram no chamado de produção)
caminho-certificados/privkey.pem (Não sei como conseguir)

Avatar discord do usuario sady_efi

sady_efi

Vamos incorporar essa informação nas respostas de emissão de certificados

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Pessoal alguém teve sucesso com o mTLS e os certificados do mTLS informados ?

Avatar discord do usuario sibeliusseraphini

sibeliusseraphini

Ver Respostas

bom dia, preciso de certificados distintos para homologação e produção?

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Por gentileza so para a conta de pessoa fisica, o de cnpj ja tenho. Pode gerar tudo, os client e certificados dev e prod , por gentileza.

Avatar discord do usuario placa_preta

placa_preta

Ver Respostas

É preciso importar os 2 certificados também pois são distintos (produção e homologação)