A very simplistic certificate provider. More...
#include <naive_certificate_provider.hpp>
Public Member Functions | |
NaiveCertificateProvider (const Runtime &) | |
const Certificate & | own_certificate () override |
get own certificate for signing | |
std::list< Certificate > | own_chain () override |
const ecdsa256::PrivateKey & | own_private_key () override |
get own private key | |
const Certificate & | aa_certificate () |
get ticket signer certificate (same for all instances) | |
const Certificate & | root_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::KeyPair & | aa_key_pair () |
get root key (same for all instances) | |
const ecdsa256::KeyPair & | root_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 Runtime & | m_runtime |
const ecdsa256::KeyPair | m_own_key_pair |
Certificate | m_own_certificate |
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.
vanetza::security::v2::NaiveCertificateProvider::NaiveCertificateProvider | ( | const Runtime & | rt | ) |
Definition at line 16 of file naive_certificate_provider.cpp.
const Certificate & vanetza::security::v2::NaiveCertificateProvider::aa_certificate | ( | ) |
get ticket signer certificate (same for all instances)
Definition at line 62 of file naive_certificate_provider.cpp.
|
private |
get root key (same for all instances)
Definition at line 48 of file naive_certificate_provider.cpp.
|
private |
generate a authorization authority certificate
Definition at line 131 of file naive_certificate_provider.cpp.
Certificate vanetza::security::v2::NaiveCertificateProvider::generate_authorization_ticket | ( | ) |
generate an authorization ticket
Definition at line 78 of file naive_certificate_provider.cpp.
|
private |
generate a root certificate
Definition at line 183 of file naive_certificate_provider.cpp.
|
overridevirtual |
get own certificate for signing
Implements vanetza::security::v2::CertificateProvider.
Definition at line 21 of file naive_certificate_provider.cpp.
|
overridevirtual |
Get own certificate chain, excluding the leaf certificate and root CA
Implements vanetza::security::v2::CertificateProvider.
Definition at line 36 of file naive_certificate_provider.cpp.
|
overridevirtual |
get own private key
Implements vanetza::security::v2::CertificateProvider.
Definition at line 43 of file naive_certificate_provider.cpp.
const Certificate & vanetza::security::v2::NaiveCertificateProvider::root_certificate | ( | ) |
get root certificate (same for all instances)
Definition at line 70 of file naive_certificate_provider.cpp.
|
private |
get root key (same for all instances)
Definition at line 55 of file naive_certificate_provider.cpp.
void vanetza::security::v2::NaiveCertificateProvider::sign_authorization_ticket | ( | Certificate & | certificate | ) |
sign an authorization ticket
certificate | certificate to sign |
Definition at line 123 of file naive_certificate_provider.cpp.
|
private |
Definition at line 99 of file naive_certificate_provider.hpp.
|
private |
Definition at line 102 of file naive_certificate_provider.hpp.
|
private |
Definition at line 101 of file naive_certificate_provider.hpp.
|
private |
Definition at line 100 of file naive_certificate_provider.hpp.