CCF
Loading...
Searching...
No Matches
eddsa_public_key.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
9
10#include <optional>
11#include <string>
12#include <vector>
13
14namespace ccf::crypto
15{
17 {
18 protected:
19 EVP_PKEY* key = nullptr;
20
21 public:
23 EdDSAPublicKey_OpenSSL(const Pem& pem);
26
27 virtual Pem public_key_pem() const override;
28
29 virtual bool verify(
30 const uint8_t* contents,
31 size_t contents_size,
32 const uint8_t* sig,
33 size_t signature_size) override;
34
35 static int get_openssl_group_id(CurveID gid);
36
37 virtual CurveID get_curve_id() const override;
38
40 const std::optional<std::string>& kid = std::nullopt) const override;
41 };
42}
Definition eddsa_public_key.h:17
virtual CurveID get_curve_id() const override
Definition eddsa_public_key.cpp:105
static int get_openssl_group_id(CurveID gid)
Definition eddsa_public_key.cpp:90
virtual ~EdDSAPublicKey_OpenSSL()
Definition eddsa_public_key.cpp:56
virtual JsonWebKeyEdDSAPublic public_key_jwk_eddsa(const std::optional< std::string > &kid=std::nullopt) const override
Definition eddsa_public_key.cpp:120
virtual bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *sig, size_t signature_size) override
Definition eddsa_public_key.cpp:75
EVP_PKEY * key
Definition eddsa_public_key.h:19
virtual Pem public_key_pem() const override
Definition eddsa_public_key.cpp:64
Definition eddsa_public_key.h:16
Definition pem.h:18
Definition base64.h:10
CurveID
Definition curve.h:18