Helper for validator that uses SignedInterest + CommandInterest + Config policy and NetworkFetcher. More...
#include <ndn-cxx/security/validator-config.hpp>
Public Types | |
using | CommandInterestOptions = ValidationPolicyCommandInterest::Options |
using | SignedInterestOptions = ValidationPolicySignedInterest::Options |
Public Member Functions | |
ValidatorConfig (Face &face, const CommandInterestOptions &ciOptions={}, const SignedInterestOptions &siOptions={}) | |
ValidatorConfig (std::unique_ptr< CertificateFetcher > fetcher, const CommandInterestOptions &ciOptions={}, const SignedInterestOptions &siOptions={}) | |
void | cacheUnverifiedCert (Certificate &&cert) |
Cache unverified certificate for a period of time (5 minutes). More... | |
void | cacheVerifiedCertificate (Certificate &&cert) |
Cache verified cert a period of time (1 hour). More... | |
const Certificate * | findTrustedCert (const Interest &interestForCert) const |
Find a trusted certificate in trust anchor container or in verified cache. More... | |
CertificateFetcher & | getFetcher () const noexcept |
size_t | getMaxDepth () const noexcept |
Return the maximum depth of the certificate chain. More... | |
ValidationPolicy & | getPolicy () const noexcept |
const TrustAnchorContainer & | getTrustAnchors () const |
const CertificateCache & | getUnverifiedCertCache () const |
const CertificateCache & | getVerifiedCertCache () const |
bool | isCertKnown (const Name &certPrefix) const |
Check if certificate exists in the verified/unverified cache or in the set of trust anchors. More... | |
void | load (const std::string &filename) |
void | load (const std::string &input, const std::string &filename) |
void | load (const validator_config::ConfigSection &configSection, const std::string &filename) |
void | load (std::istream &input, const std::string &filename) |
void | loadAnchor (const std::string &groupId, Certificate &&cert) |
Load static trust anchor. More... | |
void | loadAnchor (const std::string &groupId, const std::string &certfilePath, time::nanoseconds refreshPeriod, bool isDir=false) |
Load dynamic trust anchors. More... | |
void | resetAnchors () |
Remove any previously loaded static or dynamic trust anchor. More... | |
void | resetVerifiedCertificates () |
Remove any cached verified certificates. More... | |
void | setMaxDepth (size_t depth) noexcept |
Set the maximum depth of the certificate chain. More... | |
void | validate (const Data &data, const DataValidationSuccessCallback &successCb, const DataValidationFailureCallback &failureCb) |
Asynchronously validate data . More... | |
void | validate (const Interest &interest, const InterestValidationSuccessCallback &successCb, const InterestValidationFailureCallback &failureCb) |
Asynchronously validate interest . More... | |
Validator (unique_ptr< ValidationPolicy > policy, unique_ptr< CertificateFetcher > certFetcher) | |
Validator constructor. More... | |
Protected Member Functions | |
void | cacheVerifiedCert (Certificate &&cert) |
Cache verified certificate a period of time (1 hour). More... | |
void | resetVerifiedCerts () |
Remove any cached verified certificates. More... | |
Protected Attributes | |
TrustAnchorContainer | m_trustAnchors |
CertificateCache | m_unverifiedCertCache |
CertificateCache | m_verifiedCertCache |
Helper for validator that uses SignedInterest + CommandInterest + Config policy and NetworkFetcher.
Definition at line 37 of file validator-config.hpp.
using ndn::security::ValidatorConfig::CommandInterestOptions = ValidationPolicyCommandInterest::Options |
Definition at line 42 of file validator-config.hpp.
using ndn::security::ValidatorConfig::SignedInterestOptions = ValidationPolicySignedInterest::Options |
Definition at line 41 of file validator-config.hpp.
|
explicit |
Definition at line 27 of file validator-config.cpp.
|
explicit |
Definition at line 40 of file validator-config.cpp.
|
inherited |
Cache unverified certificate for a period of time (5 minutes).
cert | The certificate packet |
Definition at line 81 of file certificate-storage.cpp.
|
protectedinherited |
Cache verified certificate a period of time (1 hour).
cert | The certificate packet |
Definition at line 69 of file certificate-storage.cpp.
|
inherited |
Cache verified cert
a period of time (1 hour).
Definition at line 188 of file validator.cpp.
|
inherited |
Find a trusted certificate in trust anchor container or in verified cache.
interestForCert | Interest for certificate |
Definition at line 33 of file certificate-storage.cpp.
|
inlinenoexceptinherited |
Definition at line 80 of file validator.hpp.
|
inlinenoexceptinherited |
Return the maximum depth of the certificate chain.
Definition at line 89 of file validator.hpp.
|
inlinenoexceptinherited |
Definition at line 74 of file validator.hpp.
|
inherited |
Definition at line 87 of file certificate-storage.cpp.
|
inherited |
Definition at line 99 of file certificate-storage.cpp.
|
inherited |
Definition at line 93 of file certificate-storage.cpp.
|
inherited |
Check if certificate exists in the verified/unverified cache or in the set of trust anchors.
Definition at line 42 of file certificate-storage.cpp.
void ndn::security::ValidatorConfig::load | ( | const std::string & | filename | ) |
Definition at line 48 of file validator-config.cpp.
void ndn::security::ValidatorConfig::load | ( | const std::string & | input, |
const std::string & | filename | ||
) |
Definition at line 54 of file validator-config.cpp.
void ndn::security::ValidatorConfig::load | ( | const validator_config::ConfigSection & | configSection, |
const std::string & | filename | ||
) |
Definition at line 66 of file validator-config.cpp.
void ndn::security::ValidatorConfig::load | ( | std::istream & | input, |
const std::string & | filename | ||
) |
Definition at line 60 of file validator-config.cpp.
|
inherited |
Load static trust anchor.
Static trust anchors are permanently associated with the validator and never expire.
groupId | Certificate group id. |
cert | Certificate to load as a trust anchor. |
Definition at line 169 of file validator.cpp.
|
inherited |
Load dynamic trust anchors.
Dynamic trust anchors are associated with the validator for as long as the underlying trust anchor file (set of files) exist(s).
groupId | Certificate group id, must not be empty. |
certfilePath | Specifies the path to load the trust anchors. |
refreshPeriod | Refresh period for the trust anchors, must be positive. |
isDir | Tells whether the path is a directory or a single file. |
Definition at line 175 of file validator.cpp.
|
inherited |
Remove any previously loaded static or dynamic trust anchor.
Definition at line 182 of file validator.cpp.
|
inherited |
Remove any cached verified certificates.
Definition at line 194 of file validator.cpp.
|
protectedinherited |
Remove any cached verified certificates.
Definition at line 75 of file certificate-storage.cpp.
|
inlinenoexceptinherited |
Set the maximum depth of the certificate chain.
Definition at line 98 of file validator.hpp.
|
inherited |
Asynchronously validate data
.
successCb
and failureCb
must not be nullptr Definition at line 47 of file validator.cpp.
|
inherited |
Asynchronously validate interest
.
successCb
and failureCb
must not be nullptr Definition at line 60 of file validator.cpp.
ndn::security::Validator::Validator |
Validator constructor.
policy | Validation policy to be associated with the validator. |
certFetcher | Certificate fetcher implementation. |
Definition at line 69 of file validator.cpp.
|
protectedinherited |
Definition at line 131 of file certificate-storage.hpp.
|
protectedinherited |
Definition at line 133 of file certificate-storage.hpp.
|
protectedinherited |
Definition at line 132 of file certificate-storage.hpp.