Vanetza
 
Loading...
Searching...
No Matches
vanetza::security::v2::NaiveCertificateProvider Class Reference

A very simplistic certificate provider. More...

#include <naive_certificate_provider.hpp>

Inheritance diagram for vanetza::security::v2::NaiveCertificateProvider:

Public Member Functions

 NaiveCertificateProvider (const Runtime &)
 
const Certificateown_certificate () override
 get own certificate for signing
 
std::list< Certificateown_chain () override
 
const ecdsa256::PrivateKeyown_private_key () override
 get own private key
 
const Certificateaa_certificate ()
 get ticket signer certificate (same for all instances)
 
const Certificateroot_certificate ()
 get root certificate (same for all instances)
 
Certificate generate_authorization_ticket ()
 generate an authorization ticket
 
void sign_authorization_ticket (Certificate &certificate)
 sign an authorization ticket
 

Private Member Functions

const ecdsa256::KeyPairaa_key_pair ()
 get root key (same for all instances)
 
const ecdsa256::KeyPairroot_key_pair ()
 get root key (same for all instances)
 
Certificate generate_aa_certificate (const std::string &subject_name)
 generate a authorization authority certificate
 
Certificate generate_root_certificate (const std::string &subject_name)
 generate a root certificate
 

Private Attributes

BackendCryptoPP m_crypto_backend
 
const Runtimem_runtime
 
const ecdsa256::KeyPair m_own_key_pair
 
Certificate m_own_certificate
 

Detailed Description

A very simplistic certificate provider.

This certificate provider signs its certificates with a randomly generated root certificate. This means the signatures produced based on this certificate provider can't be verified by other parties.

It's intended for experimenting with secured messages without validating signatures.

Definition at line 25 of file naive_certificate_provider.hpp.

Constructor & Destructor Documentation

◆ NaiveCertificateProvider()

vanetza::security::v2::NaiveCertificateProvider::NaiveCertificateProvider ( const Runtime rt)

Definition at line 16 of file naive_certificate_provider.cpp.

Member Function Documentation

◆ aa_certificate()

const Certificate & vanetza::security::v2::NaiveCertificateProvider::aa_certificate ( )

get ticket signer certificate (same for all instances)

Returns
signing authorization authority certificate

Definition at line 62 of file naive_certificate_provider.cpp.

◆ aa_key_pair()

const ecdsa256::KeyPair & vanetza::security::v2::NaiveCertificateProvider::aa_key_pair ( )
private

get root key (same for all instances)

Returns
root key

Definition at line 48 of file naive_certificate_provider.cpp.

◆ generate_aa_certificate()

Certificate vanetza::security::v2::NaiveCertificateProvider::generate_aa_certificate ( const std::string &  subject_name)
private

generate a authorization authority certificate

Returns
generated certificate

Definition at line 131 of file naive_certificate_provider.cpp.

◆ generate_authorization_ticket()

Certificate vanetza::security::v2::NaiveCertificateProvider::generate_authorization_ticket ( )

generate an authorization ticket

Returns
generated certificate

Definition at line 78 of file naive_certificate_provider.cpp.

◆ generate_root_certificate()

Certificate vanetza::security::v2::NaiveCertificateProvider::generate_root_certificate ( const std::string &  subject_name)
private

generate a root certificate

Returns
generated certificate

Definition at line 183 of file naive_certificate_provider.cpp.

◆ own_certificate()

const Certificate & vanetza::security::v2::NaiveCertificateProvider::own_certificate ( )
overridevirtual

get own certificate for signing

Returns
own certificate

Implements vanetza::security::v2::CertificateProvider.

Definition at line 21 of file naive_certificate_provider.cpp.

◆ own_chain()

std::list< Certificate > vanetza::security::v2::NaiveCertificateProvider::own_chain ( )
overridevirtual

Get own certificate chain, excluding the leaf certificate and root CA

Returns
own certificate chain

Implements vanetza::security::v2::CertificateProvider.

Definition at line 36 of file naive_certificate_provider.cpp.

◆ own_private_key()

const ecdsa256::PrivateKey & vanetza::security::v2::NaiveCertificateProvider::own_private_key ( )
overridevirtual

get own private key

Returns
private key

Implements vanetza::security::v2::CertificateProvider.

Definition at line 43 of file naive_certificate_provider.cpp.

◆ root_certificate()

const Certificate & vanetza::security::v2::NaiveCertificateProvider::root_certificate ( )

get root certificate (same for all instances)

Returns
signing root certificate

Definition at line 70 of file naive_certificate_provider.cpp.

◆ root_key_pair()

const ecdsa256::KeyPair & vanetza::security::v2::NaiveCertificateProvider::root_key_pair ( )
private

get root key (same for all instances)

Returns
root key

Definition at line 55 of file naive_certificate_provider.cpp.

◆ sign_authorization_ticket()

void vanetza::security::v2::NaiveCertificateProvider::sign_authorization_ticket ( Certificate certificate)

sign an authorization ticket

Parameters
certificatecertificate to sign

Definition at line 123 of file naive_certificate_provider.cpp.

Member Data Documentation

◆ m_crypto_backend

BackendCryptoPP vanetza::security::v2::NaiveCertificateProvider::m_crypto_backend
private

Definition at line 99 of file naive_certificate_provider.hpp.

◆ m_own_certificate

Certificate vanetza::security::v2::NaiveCertificateProvider::m_own_certificate
private

Definition at line 102 of file naive_certificate_provider.hpp.

◆ m_own_key_pair

const ecdsa256::KeyPair vanetza::security::v2::NaiveCertificateProvider::m_own_key_pair
private

Definition at line 101 of file naive_certificate_provider.hpp.

◆ m_runtime

const Runtime& vanetza::security::v2::NaiveCertificateProvider::m_runtime
private

Definition at line 100 of file naive_certificate_provider.hpp.


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