Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# bolix
Avatar discord do usuario carlosh.skraba4582

carlosh.skraba4582

bolix está ativada.. metadata do SDK, com certificado entre os parametros.
imagem enviada na mensagem pelo usuario carlosh.skraba4582

# bolix
Avatar discord do usuario jessica_efi

jessica_efi

Bom dia <@!885922631784734760> ! Pra você gerar o bolix, você não precisa do certificado. Você vai gerar uma cobrança de boleto normal, e a opção bolix deve estar ativada em sua conta Gerencianet.

# bolix
Avatar discord do usuario carlosh.skraba4582

carlosh.skraba4582

pessoal, bom dia.. preciso de ajuda: uso o SDK .NET, as percebi que a assinatura da instanciação do Endpoint difere do modelo do manual.. falta no manual o certificado.. enfim, não deve ter relação com o problema, mas foi a única diferença do meu código com o que está no manual, mas estou obtendo este erro: "Unexpected character encountered while parsing value: U. Path '', line 0, position 0."

# pix
Avatar discord do usuario sady_efi

sady_efi

Ver Respostas

Como o Rubens comentou, normalmente para esse tipo de aplicação a ideia é que você tenha uma API, ou Backend, que recebe as solicitações das aplicações e faz as comunicações com a API Gerencianet. Assim você pode gerenciar, de maneira segura, as credenciais e certificados das contas operadas pelo sistema.

Acredito que podemos conversar sobre detalhes e esclarecer suas dúvidas.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa do token e do certificado nas demais requisições.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Depois que faço a autenticação e estou com o token é preciso passar de novo cliente_id, cliente_secret e certificado novamente?

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Nesta sdk ja temos todos os endpoints implementados, basta você inserir suas informações de credenciais, certificado, chave pix...

# pix
Avatar discord do usuario wesleyadiel1953

wesleyadiel1953

Ver Respostas

Boa tarde pessoal, estou tentando autenticar via endpoint em C#, porém não estou conseguindo, não estou sabendo se é como estamos inserindo o certificado ou o basic auth, alguém poderia me ajudar? Via Postman esta OK

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Como configurar no glassfish 4.0 o certificado do GN para ele funcionar no ssl e autorizar as transações.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas isso é ortogonal ao acesso direto que é o que você está tentando fazer funcionar. E mesmo nele você precisa apresentar um certificado.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Infra nao é minha área .... no servidor a configuacao foi feita a ponto das notificaçoes de recebimento serem comunicadas e isso está funcionando.

Além disso é o acesso a API com o certificado ... que foi encontrado no serv

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Há dois mTLS distintos envolvidos: o do acesso e o de notificação. No do acesso, você usa seu certificado emitido pela Gerencianet para mostrar que você é você mesmo, e compara o certificado da Gerencianet com as CAs confiadas para saber se é a Gerencianet mesmo. No de notificação, você apresentar uma CA confiada e a Gerencianet apresenta um certificado dela emitido pela CA dela.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Será que tem que importar o certificado para dentro da JVM?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, a chave privada é uma parte do arquivo que se baixa junto com o certificado. São 2 fatores de autenticação, o client secret e o certificado (assumindo que o client id não seja sigiloso)

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O arquivo de certificado precisa ter duas seções, uma com o certificado e uma com a chave privada.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Tem que extrair o certificado para servidor? ou algo assim ...

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O teste que o <@!826080016981819402> sugeriu é interessante sim, para verificar se o processo que vai tentar configurar o certificado tem permissão de leitura. Você pode também ver se o arquivo tem permissão de leitura para others num "ls -la".

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Funciona quando rodo no main .... mais quando rodo o servidor web .... não funciona .... Coloquei o caminho do certificado inteiro .. e não relativo.

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Está apontando certo.

Veja o código:

File file = new File(CERTIFICADO);

System.out.println("certificado: " + file.isFile() );
System.out.println("certificado: " + file.getAbsolutePath() );

String rota = URL_PADRAO + "/oauth/token";

String basicAuth = Base64.getEncoder().encodeToString(((CLENTE_ID + ':' + CLIENTE_SECRET).getBytes()));
System.setProperty("javax.net.ssl.keyStore", CERTIFICADO);

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

System.out.println("sslsocketfactory:" + sslsocketfactory.toString() );

URL url = new URL(rota); //Para ambiente de Desenvolvimento
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic " + basicAuth);
conn.setSSLSocketFactory(sslsocketfactory);

String requestJson = "{\"grant_type\": \"client_credentials\"}";

try (DataOutputStream stream = new DataOutputStream(conn.getOutputStream())) {

byte[] send = requestJson.getBytes("UTF-8");

stream.write(send);

stream.flush();

}

conn.connect();

String responseJson = inputStreamToString(conn.getInputStream());

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Andre, o erro 403 (Forbidden) geralmente é relacionado ao certificado. Você utiliza servidor Linux ou Windows? Provavelmente deve ser algo relacionado ao path do certificado.