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

A very simplistic certificate provider. More...

#include <naive_certificate_provider.hpp>

Inheritance diagram for vanetza::security::v3::NaiveCertificateProvider:

Public Member Functions

 NaiveCertificateProvider (const Runtime &)
const Certificateown_certificate () override
 get own certificate for signing
const 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
const CertificateCachecache () const override
CertificateCachecache () override

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
CertificateCache m_cache

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 24 of file naive_certificate_provider.hpp.

Constructor & Destructor Documentation

◆ NaiveCertificateProvider()

vanetza::security::v3::NaiveCertificateProvider::NaiveCertificateProvider ( const Runtime & rt)

Definition at line 44 of file naive_certificate_provider.cpp.

Member Function Documentation

◆ aa_certificate()

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

get ticket signer certificate (same for all instances)

Returns
signing authorization authority certificate

Definition at line 78 of file naive_certificate_provider.cpp.

◆ aa_key_pair()

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

get root key (same for all instances)

Returns
root key

Definition at line 64 of file naive_certificate_provider.cpp.

◆ cache() [1/2]

const CertificateCache & vanetza::security::v3::BaseCertificateProvider::cache ( ) const
inlineoverridevirtualinherited

◆ cache() [2/2]

CertificateCache & vanetza::security::v3::BaseCertificateProvider::cache ( )
inlineoverridevirtualinherited

Get certificate cache

Returns
certificate cache

Implements vanetza::security::v3::CertificateProvider.

Definition at line 42 of file certificate_provider.hpp.

◆ generate_aa_certificate()

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

generate a authorization authority certificate

Returns
generated certificate

Definition at line 170 of file naive_certificate_provider.cpp.

◆ generate_authorization_ticket()

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

generate an authorization ticket

Returns
generated certificate

Definition at line 94 of file naive_certificate_provider.cpp.

◆ generate_root_certificate()

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

generate a root certificate

Returns
generated certificate

Definition at line 256 of file naive_certificate_provider.cpp.

◆ own_certificate()

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

get own certificate for signing

Returns
own certificate

Implements vanetza::security::v3::CertificateProvider.

Definition at line 49 of file naive_certificate_provider.cpp.

◆ own_private_key()

const PrivateKey & vanetza::security::v3::NaiveCertificateProvider::own_private_key ( )
overridevirtual

get own private key

Returns
private key

Implements vanetza::security::v3::CertificateProvider.

Definition at line 55 of file naive_certificate_provider.cpp.

◆ root_certificate()

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

get root certificate (same for all instances)

Returns
signing root certificate

Definition at line 86 of file naive_certificate_provider.cpp.

◆ root_key_pair()

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

get root key (same for all instances)

Returns
root key

Definition at line 71 of file naive_certificate_provider.cpp.

◆ sign_authorization_ticket()

void vanetza::security::v3::NaiveCertificateProvider::sign_authorization_ticket ( Certificate & certificate)

sign an authorization ticket

Parameters
certificatecertificate to sign

Definition at line 163 of file naive_certificate_provider.cpp.

Member Data Documentation

◆ m_cache

CertificateCache vanetza::security::v3::BaseCertificateProvider::m_cache
privateinherited

Definition at line 45 of file certificate_provider.hpp.

◆ m_crypto_backend

BackendCryptoPP vanetza::security::v3::NaiveCertificateProvider::m_crypto_backend
private

Definition at line 92 of file naive_certificate_provider.hpp.

◆ m_own_certificate

Certificate vanetza::security::v3::NaiveCertificateProvider::m_own_certificate
private

Definition at line 95 of file naive_certificate_provider.hpp.

◆ m_own_key_pair

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

Definition at line 94 of file naive_certificate_provider.hpp.

◆ m_runtime

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

Definition at line 93 of file naive_certificate_provider.hpp.


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