CCF
Loading...
Searching...
No Matches
eddsa_key_pair.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
8
9namespace ccf::crypto
10{
12 public EdDSAKeyPair
13 {
14 public:
16 EdDSAKeyPair_OpenSSL(const Pem& pem);
18
19 [[nodiscard]] Pem private_key_pem() const override;
20
21 [[nodiscard]] Pem public_key_pem() const override;
22
23 [[nodiscard]] std::vector<uint8_t> sign(
24 std::span<const uint8_t> d) const override;
25
26 bool verify(
27 const uint8_t* contents,
28 size_t contents_size,
29 const uint8_t* signature,
30 size_t signature_size) override;
31
32 [[nodiscard]] CurveID get_curve_id() const override;
33
35 const std::optional<std::string>& kid = std::nullopt) const override;
36 };
37}
Definition eddsa_key_pair.h:13
Pem public_key_pem() const override
Definition eddsa_key_pair.cpp:71
Pem private_key_pem() const override
Definition eddsa_key_pair.cpp:59
CurveID get_curve_id() const override
Definition eddsa_key_pair.cpp:104
bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *signature, size_t signature_size) override
Definition eddsa_key_pair.cpp:94
std::vector< uint8_t > sign(std::span< const uint8_t > d) const override
Definition eddsa_key_pair.cpp:76
JsonWebKeyEdDSAPrivate private_key_jwk_eddsa(const std::optional< std::string > &kid=std::nullopt) const override
Definition eddsa_key_pair.cpp:109
Definition eddsa_key_pair.h:19
Definition eddsa_public_key.h:16
Definition pem.h:18
Definition base64.h:10
CurveID
Definition curve.h:18