32 lines
651 B
C
32 lines
651 B
C
![]() |
#pragma once
|
||
|
|
||
|
#include <optional>
|
||
|
#include <stdint.h>
|
||
|
#include <vector>
|
||
|
|
||
|
#include "expiring_signature.h"
|
||
|
#include "time_helpers.h"
|
||
|
|
||
|
namespace BareMinimumCrypto {
|
||
|
using namespace std;
|
||
|
|
||
|
class SigningKey {
|
||
|
vector <uint8_t> pk;
|
||
|
vector <uint8_t> sk;
|
||
|
|
||
|
public:
|
||
|
SigningKey ();
|
||
|
|
||
|
vector <uint8_t> pubkey () const;
|
||
|
vector <uint8_t> pub_to_msgpack () const;
|
||
|
|
||
|
optional <ExpiringSignature> sign (
|
||
|
const vector <uint8_t> & payload,
|
||
|
TimeRange tr
|
||
|
) const;
|
||
|
|
||
|
optional <ExpiringSignature> sign_key (const SigningKey & k, Instant now) const;
|
||
|
optional <ExpiringSignature> sign_data (const vector <uint8_t> & v, Instant now) const;
|
||
|
};
|
||
|
}
|