Fetch certificate bundle from the network. More...
#include <ndn-cxx/security/v2/certificate-bundle-fetcher.hpp>
Public Types | |
using | ValidationContinuation = std::function< void(const Certificate &cert, const shared_ptr< ValidationState > &state)> |
Public Member Functions | |
CertificateBundleFetcher (unique_ptr< CertificateFetcher > inner, Face &face) | |
void | fetch (const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Asynchronously fetch certificate. More... | |
time::milliseconds | getBundleInterestLifetime () const |
void | setBundleInterestLifetime (time::milliseconds time) |
Set the lifetime of certificate bundle interest. More... | |
void | setCertificateStorage (CertificateStorage &certStorage) override |
Set the storage for this and inner certificate fetcher. More... | |
Protected Member Functions | |
void | doFetch (const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) override |
Asynchronous certificate fetching implementation. More... | |
Protected Attributes | |
CertificateStorage * | m_certStorage |
Fetch certificate bundle from the network.
Currently bundle fetching is attempted only for Data validation. This may change in the future. Bundle fetching always goes to the infrastructure regardless of the inner fetcher. Inner fetcher is used when the bundle interest times out or returns a Nack or when additional certificates are needed for validation.
Definition at line 41 of file certificate-bundle-fetcher.hpp.
|
inherited |
Definition at line 43 of file certificate-fetcher.hpp.
|
explicit |
Definition at line 35 of file certificate-bundle-fetcher.cpp.
|
overrideprotectedvirtual |
Asynchronous certificate fetching implementation.
Implements ndn::security::v2::CertificateFetcher.
Definition at line 64 of file certificate-bundle-fetcher.cpp.
|
inherited |
Asynchronously fetch certificate.
If the requested certificate exists in the storage, then this method will immediately call continueValidation with the certification. If certificate is not available, the implementation-specific doFetch will be called to asynchronously fetch certificate. The successfully retrieved certificate will be automatically added to the unverified cache of the certificate storage.
When the requested certificate is retrieved, continueValidation is called. Otherwise, the fetcher implementation call state->failed() with the appropriate error code and diagnostic message.
Definition at line 47 of file certificate-fetcher.cpp.
time::milliseconds ndn::security::v2::CertificateBundleFetcher::getBundleInterestLifetime | ( | ) | const |
Definition at line 51 of file certificate-bundle-fetcher.cpp.
void ndn::security::v2::CertificateBundleFetcher::setBundleInterestLifetime | ( | time::milliseconds | time | ) |
Set the lifetime of certificate bundle interest.
Definition at line 45 of file certificate-bundle-fetcher.cpp.
|
overridevirtual |
Set the storage for this and inner certificate fetcher.
Reimplemented from ndn::security::v2::CertificateFetcher.
Definition at line 57 of file certificate-bundle-fetcher.cpp.
|
protectedinherited |
Definition at line 84 of file certificate-fetcher.hpp.