FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::net::EcdsaP256Key Class Reference

#include <fastmm/net/crypto.hpp>

Public Member Functions

 EcdsaP256Key () noexcept=default
 
 ~EcdsaP256Key ()
 
 EcdsaP256Key (EcdsaP256Key &&o) noexcept
 
EcdsaP256Key & operator= (EcdsaP256Key &&o) noexcept
 
 EcdsaP256Key (const EcdsaP256Key &)=delete
 
EcdsaP256Key & operator= (const EcdsaP256Key &)=delete
 
bool valid () const noexcept
 
bool has_private () const noexcept
 
bool sign (std::string_view data, std::span< std::uint8_t, kEs256SignatureSize > out) const noexcept
 r || s of SHA-256(data); false without a private key.
 
bool verify (std::string_view data, std::span< const std::uint8_t > signature) const noexcept
 
std::string public_pem () const
 "\--\---BEGIN PUBLIC KEY\--\---" PEM of the key (empty when invalid).
 

Static Public Member Functions

static EcdsaP256Key from_private_pem (std::string_view pem)
 SEC 1 "EC PRIVATE KEY" or PKCS#8 "PRIVATE KEY" PEM. Not valid() unless it is a P-256 key.
 
static EcdsaP256Key from_public_pem (std::string_view pem)
 SubjectPublicKeyInfo "PUBLIC KEY" PEM.
 

Constructor & Destructor Documentation

◆ EcdsaP256Key() [1/3]

fastmm::net::EcdsaP256Key::EcdsaP256Key ( )
defaultnoexcept

◆ ~EcdsaP256Key()

fastmm::net::EcdsaP256Key::~EcdsaP256Key ( )

◆ EcdsaP256Key() [2/3]

fastmm::net::EcdsaP256Key::EcdsaP256Key ( EcdsaP256Key &&  o)
inlinenoexcept

◆ EcdsaP256Key() [3/3]

fastmm::net::EcdsaP256Key::EcdsaP256Key ( const EcdsaP256Key &  )
delete

Member Function Documentation

◆ operator=() [1/2]

EcdsaP256Key & fastmm::net::EcdsaP256Key::operator= ( EcdsaP256Key &&  o)
noexcept

◆ operator=() [2/2]

EcdsaP256Key & fastmm::net::EcdsaP256Key::operator= ( const EcdsaP256Key &  )
delete

◆ from_private_pem()

static EcdsaP256Key fastmm::net::EcdsaP256Key::from_private_pem ( std::string_view  pem)
static

SEC 1 "EC PRIVATE KEY" or PKCS#8 "PRIVATE KEY" PEM. Not valid() unless it is a P-256 key.

◆ from_public_pem()

static EcdsaP256Key fastmm::net::EcdsaP256Key::from_public_pem ( std::string_view  pem)
static

SubjectPublicKeyInfo "PUBLIC KEY" PEM.

◆ valid()

bool fastmm::net::EcdsaP256Key::valid ( ) const
inlinenoexcept

◆ has_private()

bool fastmm::net::EcdsaP256Key::has_private ( ) const
inlinenoexcept

◆ sign()

bool fastmm::net::EcdsaP256Key::sign ( std::string_view  data,
std::span< std::uint8_t, kEs256SignatureSize >  out 
) const
noexcept

r || s of SHA-256(data); false without a private key.

◆ verify()

bool fastmm::net::EcdsaP256Key::verify ( std::string_view  data,
std::span< const std::uint8_t >  signature 
) const
noexcept

◆ public_pem()

std::string fastmm::net::EcdsaP256Key::public_pem ( ) const

"\--\---BEGIN PUBLIC KEY\--\---" PEM of the key (empty when invalid).