Librería para ES256

Que tal comunidad, podrían ayudarme si es que saben de alguna libreria para un Json Web Token (JWT) del tipo ES256, ya que ArduinoJWT solo tiene soporte para RS256, gracias.

No sabemos lo que es un ES256.
Coloca link, da mas datos.

Moderador:
Lee tmb las normas porque por tu corto mensaje me da la sensación que no lo has hecho.

Revisa el repositorio de la librería porque, si no interpreté mal, está el código para "parcharla" y agregarle el soporte (o algo así).

Saludos

Y sabes en donde puedo encontrar el código para parcharla? porque tengo la biblioteca descargada y las librerías pero de qué manera puedo realizar el procedimiento del parche?

Revisa el repositorio.
Edito

Prueba ésta (mira los ejemplos)
GitHub - Barmaley13/ArduinoJWT: Library for encoding and decoding JSON web tokens for the Arduino and ESP8266 platforms.

Saludos

Gracias, te lo agradezco

Gracias @robertoddd por hacer caso a lo que oportunamente te solicité.

Bueno para los que no sepan, un JWT (json web token) es una forma de encriptación y confirmación de seguridad, pero de una manera corta en cuanto a carácteres.
Aquí un link en github de donde me guié para que puedan entrar y checarlo.

Qué pasó con ésta?

No sirvió?

Bueno, gracias por poner el link sobre ES256.

Ahora lo que pides es basicamente buscar algo en Google: Arduino Json Web Token ES256
Tal vez alguno te sirva.

https://www.google.com/search?q=Arduino+Json+Web+Token+ES256&rlz=1C1CHBF_esAR972AR973&oq=Arduino+Json+Web+Token+ES256&aqs=chrome..69i57j33i160l4.815j0j7&sourceid=chrome&ie=UTF-8

Ya lo puse a prueba pero al momento de compilar el sketch para resultados ES256 el token me da un HS, no sé que esté mal, ingresé mis llaves correspondientes y me marca como "False".

Adjunto mi codigo

/*
Top Level Example / Unit Test
*/

#include "ArduinoJWT.h"
#include "../keys/rsa_keys.h"
#include "../keys/ec_keys.h"

#define HEADER_NUM 3

String hmac_key = "secret";

String header[HEADER_NUM] = {
  "{\"alg\":\"HS256\",\"typ\":\"JWT\"}",
  "{\"alg\":\"RS256\",\"typ\":\"JWT\"}",
  "{\"alg\":\"ES256\",\"typ\":\"JWT\"}"
};

// Change intermediate results according to your keys
String output[HEADER_NUM] = {
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.WI0fJ1ubHHCltv6KjDpFq3hnqK4brOjAAezOWqtX5ME",
  "",
  "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.b_A7lJJBzh2t1DUZ5pYOCoW0GmmgXDKBA6orzhWUyhbY1aeoW8BSSbXnKoSG4WQRXlgcKfp36nSYjZiywTFrcg"
};

ArduinoJWT JWT;


void setup(){
  Serial.begin(115200);
  Serial.println();

  for (int i=0; i<HEADER_NUM; i++) {
    String encode, decode, success;
    unsigned long start, end;

    if (i == RS256){
      // RS256 is not supported yet!
      Serial.println("Skipping RS256 Test!\n");
      continue;
    }

    // Set keys
    switch(i) {
        case HS256:
          JWT.setHS256key(hmac_key);
          break;

        // case RS256:
        //   // TODO: Figure out how to compose RSA context.
        //   // Might be easier feeding pem or der file...
        //   JWT.setRS256keys(keys);
        //   break;

        case ES256:
          JWT.setES256keys(ec_private, ec_public);
          break;
    }

    // Encode
    start = millis();
    encode = JWT.encodeJWT(header[i], Algo(i));
    end = millis();
    success = (output[i] == encode ? "True" : "False");

    // Print results
    Serial.println("Encode Test # " + String(i + 1));
    Serial.println("Time: " + String(end - start) + " ms");
    Serial.println("Input: " + header[i]);
    Serial.println("Expected Output: " + output[i] + ", length: " + output[i].length());
    Serial.println("Received Output: " + encode + ", length: " + encode.length());
    Serial.println("Success: " + success);
    Serial.println();

    // Decode
    start = millis();
    decode = JWT.decodeJWT(encode, Algo(i));
    end = millis();
    success = (header[i] == decode ? "True" : "False");

    // Print results
    Serial.println("Decode Test # " + String(i + 1));
    Serial.println("Time: " + String(end - start) + " ms");
    Serial.println("Input: " + encode);
    Serial.println("Expected Output: " + header[i] + ", length: " + header[i].length());
    Serial.println("Received Output: " + decode + ", length: " + decode.length());
    Serial.println("Success: " + success);
    Serial.println();
  }

}

void loop(){
  // Main code here
}

Aquí pueden utilizar un encoder funcional

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.