Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Na verdade são dois certificados... um é que certifica o seu servidor, https://exemplo.com.br . O outro é o da Efí, que você precisa exigir para garantir o mTLS.

# devs
Avatar discord do usuario kauaa_zll

kauaa_zll

Ver Respostas

eu estou tentando criar um servidor com certificado para cadastrar a url no webhook

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Isso mesmo. Mas /webhook também precisa responder com 200 se tiver o certificado, 403 se não tiver.

# pix
Avatar discord do usuario allanmello

allanmello

Ver Respostas

Mudei para o ambiente de produção, mas no pagamento do PIX está informando pelo banco que:
"O certificado vinculado ao QRCode não se encontra ativo no PIX."
Mensagem do App da Caixa.
Outra coisa que percebi, é que valores de R$ 00,01 até R$ 00,10 mesmo em produção o Status muda p/ "CONCLUIDO" também.

# pix
Avatar discord do usuario jaimepremy

jaimepremy

Bom, galera .Net framework tive problemas para carregar o certificado no servidor, mas consegui resolver. Atualizei o gist que já tinha feto anteriormente da implementação do pix no .Net framework para agora tbm dar conta deste problema do certificado no servidor: https://gist.github.com/premy/4773e752da9d63f98edfd44cfe49a3ba

# dúvidas
Avatar discord do usuario thomas.frankl1n

thomas.frankl1n

Ver Respostas

não cheguei a olhar muito a fundo a parte do pix, mas precisa usar o certificado ou consigo fazer a requisição sem?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não é numa página é no app. E sim é com ../diretório/certificado.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

É possível, mas o certificado precisa ficar num local não publicado via Web. Tipicamente é uma pasta que tem como parent a mesma localização que tem o DOCROOT.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, e isso é muito ruim... um objeto que deveria ser privado - o certificado - virou público.

# pix
Avatar discord do usuario jaimepremy

jaimepremy

Ver Respostas

Não sei se entendi direito. O meu site está em shared hosting (asp.net). Se eu acrescentar um folder para Certificados no root, pro exemplo, este folder vai estar automaticamente publicado, não?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Certificados não devem estar em áreas publicadas pelo servidor Web. Eles devem ficar fora da árvore publicada, mas com permissões que permitam a aplicação ler o certificado.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa mandar a requisição com o certificado... será que há restrições de aonde o arquivo de certificado possa ser instalado e/ou de permissões ?

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

Para isso eu transformei o arquivo em base64 usando o comando base64 producao.p12 | tr -d '\n' | tr -d ' ' > output.txt e adicionei o conteúdo de output.txt em uma variável de ambiente.
Para converter de base64 para binário, uso o seguinte trecho de código em TypeScript:

ts
const certificate = Buffer.from(certificateBase64Encoded, "base64");

const httpsAgent = new https.Agent({
pfx: certificate,
passphrase: "",
});
Como o projeto no qual estou trabalhando é escrito em TypeScript e a tipagem do SDK sdk-typescript-apis-efi é basicamente nenhuma tipagem, eu decidi criar as requisições do zero adequando-as ao modelo serverless e com tudo tipado e validado como descrito na documentação já que há um time relativamente grande que trabalhará nesse projeto.
Mas se você quiser usar a SDK, provavelmente terá que dar um jeito de salvar o certificado em um arquivo usando um script durante a build ou algo assim já que EfiPay(options) só aceita o caminho do certificado (não sei se eu recomendaria isso, depende muito da plataforma que usará).

Inclusive se alguém da Efí estiver lendo isso, uma SDK para TypeScript com as rotas e parâmetros definidos e com tipos, preferencialmente com suas respectivas descrições em JSDoc, seria incrível.

# pix
Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

to mandando assim: curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/v2/cob", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSLCERT => $config["certificado"],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $token",
"Content-Type: application/json"
),
));

# pix
Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

isso depois de ter adicionar o certificado como pediu

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Certo. envia esse certificado na requisição de emissão também. Como enviou na autenticação

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Você enviou o certificado também na requisição de emissão?

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @vitor.oliveira94 ! Você esta inserindo as credenciais e certificado de produção?

# pix
Avatar discord do usuario blini_10032

blini_10032

Ver Respostas

@peterfritz qnd vai gerar o qrcode precisa ler o certificado, o arquivo .p12 tem que estar no servidor sem acesso público, como vc mandou esse arquivo para seu servidor? o meu é estático, não tem como mandar arquivos sem passar pelo processo de deploy. Ou dá pra gerar qrcode sem o certificado tbm?