Vanetza
Loading...
Searching...
No Matches
vanetza::security::pqc::HybridCertificateValidator Class Reference

#include <hybrid_certificate_validator.hpp>

Inheritance diagram for vanetza::security::pqc::HybridCertificateValidator:

Public Types

enum class  VerificationPolicy { ClassicalOnly , HybridIfPresent , HybridRequired }
enum class  Verdict {
  Unknown , Valid , Expired , Revoked ,
  Untrusted , InconsistentChain , OutsideRegion , InsufficientPermission ,
  Misconfiguration
}

Public Member Functions

Verdict valid_for_signing (const v3::CertificateView &, ItsAid) override
void use_runtime (const Runtime *)
void use_position_provider (PositionProvider *)
void use_issuer_lookup (const v3::IssuerLookup *)
void use_location_checker (const v3::LocationChecker *)
void use_revocation_lookup (const v3::RevocationLookup *)
void use_trust_store (const v3::TrustStore *)
void use_backends (::vanetza::security::Backend *, Backend *)
void use_verification_policy (VerificationPolicy)
void disable_time_checks (bool)
void disable_location_checks (bool)
void disable_chain_consistency_checks (bool)
void disable_region_consistency_checks (bool)

Private Member Functions

bool chain_is_authentic (const v3::CertificateView &) const
bool alternative_signature_is_accepted (const v3::CertificateView &subject, const v3::CertificateView *issuer) const

Private Attributes

v3::DefaultCertificateValidator m_policy_validator
const v3::IssuerLookupm_issuer_lookup = nullptr
const v3::TrustStorem_trust_store = nullptr
::vanetza::security::Backendm_ecc_backend = nullptr
Backendm_pqc_backend = nullptr
VerificationPolicy m_verification_policy = VerificationPolicy::HybridRequired

Detailed Description

Default V3 policy checks plus cryptographic certificate-chain validation.

This class is compiled only for the experimental profile. Message signatures remain classical ECC; this validator concerns the nested signatures on certificates in the Root -> AA -> AT chain.

Definition at line 36 of file hybrid_certificate_validator.hpp.

Member Enumeration Documentation

◆ Verdict

enum class vanetza::security::v3::CertificateValidator::Verdict
stronginherited

Definition at line 27 of file certificate_validator.hpp.

◆ VerificationPolicy

enum class vanetza::security::pqc::HybridCertificateValidator::VerificationPolicy
strong

Definition at line 39 of file hybrid_certificate_validator.hpp.

Member Function Documentation

◆ alternative_signature_is_accepted()

bool vanetza::security::pqc::HybridCertificateValidator::alternative_signature_is_accepted ( const v3::CertificateView & subject,
const v3::CertificateView * issuer ) const
private

Definition at line 93 of file hybrid_certificate_validator.cpp.

◆ chain_is_authentic()

bool vanetza::security::pqc::HybridCertificateValidator::chain_is_authentic ( const v3::CertificateView & signing_certificate) const
private

Definition at line 112 of file hybrid_certificate_validator.cpp.

◆ disable_chain_consistency_checks()

void vanetza::security::pqc::HybridCertificateValidator::disable_chain_consistency_checks ( bool disable)

Definition at line 83 of file hybrid_certificate_validator.cpp.

◆ disable_location_checks()

void vanetza::security::pqc::HybridCertificateValidator::disable_location_checks ( bool disable)

Definition at line 78 of file hybrid_certificate_validator.cpp.

◆ disable_region_consistency_checks()

void vanetza::security::pqc::HybridCertificateValidator::disable_region_consistency_checks ( bool disable)

Definition at line 88 of file hybrid_certificate_validator.cpp.

◆ disable_time_checks()

void vanetza::security::pqc::HybridCertificateValidator::disable_time_checks ( bool disable)

Definition at line 73 of file hybrid_certificate_validator.cpp.

◆ use_backends()

void vanetza::security::pqc::HybridCertificateValidator::use_backends ( ::vanetza::security::Backend * ecc,
Backend * pqc_backend )

Definition at line 61 of file hybrid_certificate_validator.cpp.

◆ use_issuer_lookup()

void vanetza::security::pqc::HybridCertificateValidator::use_issuer_lookup ( const v3::IssuerLookup * lookup)

Definition at line 39 of file hybrid_certificate_validator.cpp.

◆ use_location_checker()

void vanetza::security::pqc::HybridCertificateValidator::use_location_checker ( const v3::LocationChecker * checker)

Definition at line 45 of file hybrid_certificate_validator.cpp.

◆ use_position_provider()

void vanetza::security::pqc::HybridCertificateValidator::use_position_provider ( PositionProvider * provider)

Definition at line 34 of file hybrid_certificate_validator.cpp.

◆ use_revocation_lookup()

void vanetza::security::pqc::HybridCertificateValidator::use_revocation_lookup ( const v3::RevocationLookup * lookup)

Definition at line 50 of file hybrid_certificate_validator.cpp.

◆ use_runtime()

void vanetza::security::pqc::HybridCertificateValidator::use_runtime ( const Runtime * runtime)

Definition at line 29 of file hybrid_certificate_validator.cpp.

◆ use_trust_store()

void vanetza::security::pqc::HybridCertificateValidator::use_trust_store ( const v3::TrustStore * store)

Definition at line 55 of file hybrid_certificate_validator.cpp.

◆ use_verification_policy()

void vanetza::security::pqc::HybridCertificateValidator::use_verification_policy ( VerificationPolicy policy)

Definition at line 68 of file hybrid_certificate_validator.cpp.

◆ valid_for_signing()

auto vanetza::security::pqc::HybridCertificateValidator::valid_for_signing ( const v3::CertificateView & certificate,
ItsAid app )
overridevirtual

Check if a certificate can be used for signing a message

Parameters
certificatepre-validated AT certificate
appITS-AID of the message to be signed

Implements vanetza::security::v3::CertificateValidator.

Definition at line 15 of file hybrid_certificate_validator.cpp.

Member Data Documentation

◆ m_ecc_backend

::vanetza::security::Backend* vanetza::security::pqc::HybridCertificateValidator::m_ecc_backend = nullptr
private

Definition at line 70 of file hybrid_certificate_validator.hpp.

◆ m_issuer_lookup

const v3::IssuerLookup* vanetza::security::pqc::HybridCertificateValidator::m_issuer_lookup = nullptr
private

Definition at line 68 of file hybrid_certificate_validator.hpp.

◆ m_policy_validator

v3::DefaultCertificateValidator vanetza::security::pqc::HybridCertificateValidator::m_policy_validator
private

Definition at line 67 of file hybrid_certificate_validator.hpp.

◆ m_pqc_backend

Backend* vanetza::security::pqc::HybridCertificateValidator::m_pqc_backend = nullptr
private

Definition at line 71 of file hybrid_certificate_validator.hpp.

◆ m_trust_store

const v3::TrustStore* vanetza::security::pqc::HybridCertificateValidator::m_trust_store = nullptr
private

Definition at line 69 of file hybrid_certificate_validator.hpp.

◆ m_verification_policy

VerificationPolicy vanetza::security::pqc::HybridCertificateValidator::m_verification_policy = VerificationPolicy::HybridRequired
private

Definition at line 72 of file hybrid_certificate_validator.hpp.


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