CCF
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
jwk.h File Reference
#include "ccf/crypto/curve.h"
#include "ccf/ds/json.h"
#include "ccf/ds/logger.h"
#include <string>

Go to the source code of this file.

Classes

struct  ccf::crypto::JsonWebKey
 
struct  ccf::crypto::JsonWebKeyData
 
struct  ccf::crypto::JsonWebKeyECPublic
 
struct  ccf::crypto::JsonWebKeyECPrivate
 
struct  ccf::crypto::JsonWebKeyRSAPublic
 
struct  ccf::crypto::JsonWebKeyRSAPrivate
 
struct  ccf::crypto::JsonWebKeyEdDSAPublic
 
struct  ccf::crypto::JsonWebKeyEdDSAPrivate
 

Namespaces

namespace  ccf
 
namespace  ccf::crypto
 

Enumerations

enum class  ccf::crypto::JsonWebKeyType { ccf::crypto::EC = 0 , ccf::crypto::RSA = 1 , ccf::crypto::OKP = 2 }
 
enum class  ccf::crypto::JsonWebKeyECCurve { ccf::crypto::P256 = 0 , ccf::crypto::P384 = 1 , ccf::crypto::P521 = 2 }
 
enum class  ccf::crypto::JsonWebKeyEdDSACurve { ccf::crypto::ED25519 = 0 , ccf::crypto::X25519 = 1 }
 

Functions

 ccf::crypto::DECLARE_JSON_ENUM (JsonWebKeyType, {{JsonWebKeyType::EC, "EC"}, {JsonWebKeyType::RSA, "RSA"}, {JsonWebKeyType::OKP, "OKP"}})
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (JsonWebKey)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKey, kty)
 
 ccf::crypto::DECLARE_JSON_OPTIONAL_FIELDS (JsonWebKey, kid, x5c)
 
 ccf::crypto::DECLARE_JSON_ENUM (JsonWebKeyECCurve, {{JsonWebKeyECCurve::P256, "P-256"}, {JsonWebKeyECCurve::P384, "P-384"}, {JsonWebKeyECCurve::P521, "P-521"}})
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (JsonWebKeyData)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyData, kty)
 
 ccf::crypto::DECLARE_JSON_OPTIONAL_FIELDS (JsonWebKeyData, kid, x5c, n, e, x, y, crv, issuer)
 
 ccf::crypto::DECLARE_JSON_ENUM (JsonWebKeyEdDSACurve, {{JsonWebKeyEdDSACurve::ED25519, "Ed25519"}, {JsonWebKeyEdDSACurve::X25519, "X25519"}})
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyECPublic, JsonWebKey)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyECPublic, crv, x, y)
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyECPrivate, JsonWebKeyECPublic)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyECPrivate, d)
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyRSAPublic, JsonWebKey)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyRSAPublic, n, e)
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyRSAPrivate, JsonWebKeyRSAPublic)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyRSAPrivate, d, p, q, dp, dq, qi)
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyEdDSAPublic, JsonWebKey)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyEdDSAPublic, crv, x)
 
 ccf::crypto::DECLARE_JSON_TYPE_WITH_BASE (JsonWebKeyEdDSAPrivate, JsonWebKeyEdDSAPublic)
 
 ccf::crypto::DECLARE_JSON_REQUIRED_FIELDS (JsonWebKeyEdDSAPrivate, d)