CCF
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ccf::crypto::RSAKeyPair Class Referenceabstract

#include <rsa_key_pair.h>

Inherits ccf::crypto::RSAPublicKey.

Inherited by ccf::crypto::RSAKeyPair_OpenSSL.

Public Member Functions

virtual Pem private_key_pem () const =0
 
virtual std::vector< uint8_t > private_key_der () const =0
 
virtual JsonWebKeyRSAPrivate private_key_jwk (const std::optional< std::string > &kid=std::nullopt) const =0
 
virtual std::vector< uint8_t > sign (std::span< const uint8_t > d, MDType md_type=MDType::NONE, size_t salt_length=0) const =0
 
virtual std::vector< uint8_t > rsa_oaep_unwrap (const std::vector< uint8_t > &input, const std::optional< std::vector< std::uint8_t > > &label=std::nullopt)=0
 
- Public Member Functions inherited from ccf::crypto::RSAPublicKey
virtual ~RSAPublicKey ()=default
 
virtual size_t key_size () const =0
 
virtual std::vector< uint8_t > rsa_oaep_wrap (const uint8_t *input, size_t input_size, const uint8_t *label=nullptr, size_t label_size=0)=0
 
virtual std::vector< uint8_t > rsa_oaep_wrap (const std::vector< uint8_t > &input, const std::optional< std::vector< std::uint8_t > > &label=std::nullopt)=0
 
virtual Pem public_key_pem () const =0
 
virtual std::vector< uint8_t > public_key_der () const =0
 
virtual JsonWebKeyRSAPublic public_key_jwk (const std::optional< std::string > &kid=std::nullopt) const =0
 
virtual bool verify (const uint8_t *contents, size_t contents_size, const uint8_t *signature, size_t signature_size, MDType md_type, RSAPadding padding=RSAPadding::PKCS_PSS, size_t salt_length=0)=0
 
virtual bool verify_hash (const uint8_t *hash, size_t hash_size, const uint8_t *signature, size_t signature_size, MDType md_type, RSAPadding padding=RSAPadding::PKCS_PSS, size_t salt_length=0)=0
 

Member Function Documentation

◆ private_key_der()

virtual std::vector< uint8_t > ccf::crypto::RSAKeyPair::private_key_der ( ) const
pure virtual

◆ private_key_jwk()

virtual JsonWebKeyRSAPrivate ccf::crypto::RSAKeyPair::private_key_jwk ( const std::optional< std::string > &  kid = std::nullopt) const
pure virtual

◆ private_key_pem()

virtual Pem ccf::crypto::RSAKeyPair::private_key_pem ( ) const
pure virtual

◆ rsa_oaep_unwrap()

virtual std::vector< uint8_t > ccf::crypto::RSAKeyPair::rsa_oaep_unwrap ( const std::vector< uint8_t > &  input,
const std::optional< std::vector< std::uint8_t > > &  label = std::nullopt 
)
pure virtual

Unwrap data using RSA-OAEP-256 (CKM_RSA_PKCS_OAEP)

Parameters
inputRaw data to unwrap
labelOptional string used as label during unwrapping
Returns
Unwrapped data

Implemented in ccf::crypto::RSAKeyPair_OpenSSL.

◆ sign()

virtual std::vector< uint8_t > ccf::crypto::RSAKeyPair::sign ( std::span< const uint8_t >  d,
MDType  md_type = MDType::NONE,
size_t  salt_length = 0 
) const
pure virtual

The documentation for this class was generated from the following file: