Goby3  3.1.4
2024.02.22
jwt::algorithm::eddsa Struct Reference

Base class for EdDSA family of algorithms. More...

#include <goby/util/thirdparty/jwt-cpp/jwt.h>

Inheritance diagram for jwt::algorithm::eddsa:
jwt::algorithm::ed25519 jwt::algorithm::ed448

Public Member Functions

 eddsa (const std::string &public_key, const std::string &private_key, const std::string &public_key_password, const std::string &private_key_password, std::string name)
 
std::string sign (const std::string &data, std::error_code &ec) const
 
void verify (const std::string &data, const std::string &signature, std::error_code &ec) const
 
std::string name () const
 

Detailed Description

Base class for EdDSA family of algorithms.

https://tools.ietf.org/html/rfc8032

The EdDSA algorithms were introduced in OpenSSL v1.1.1, so these algorithms are only available when building against this version or higher.

Definition at line 1446 of file jwt.h.

Constructor & Destructor Documentation

◆ eddsa()

jwt::algorithm::eddsa::eddsa ( const std::string &  public_key,
const std::string &  private_key,
const std::string &  public_key_password,
const std::string &  private_key_password,
std::string  name 
)
inline

Construct new eddsa algorithm

Parameters
public_keyEdDSA public key in PEM format
private_keyEdDSA private key or empty string if not available. If empty, signing will always fail.
public_key_passwordPassword to decrypt public key pem.
private_key_passwordPassword to decrypt private key pem.
nameName of the algorithm

Definition at line 1458 of file jwt.h.

Member Function Documentation

◆ name()

std::string jwt::algorithm::eddsa::name ( ) const
inline

Returns the algorithm name provided to the constructor

Returns
algorithm's name

Definition at line 1592 of file jwt.h.

◆ sign()

std::string jwt::algorithm::eddsa::sign ( const std::string &  data,
std::error_code &  ec 
) const
inline

Sign jwt data

Parameters
dataThe data to sign
ecerror_code filled with details on error
Returns
EdDSA signature for the given data

Definition at line 1480 of file jwt.h.

◆ verify()

void jwt::algorithm::eddsa::verify ( const std::string &  data,
const std::string &  signature,
std::error_code &  ec 
) const
inline

Check if signature is valid

Parameters
dataThe data to check signature against
signatureSignature provided by the jwt
ecFilled with details on error

Definition at line 1540 of file jwt.h.


The documentation for this struct was generated from the following file: