Extends CertificateFetcherFromNetwork to fetch certificates from the incoming face of the packet. More...
#include <ndn-cxx/security/v2/certificate-fetcher-direct-fetch.hpp>
Public Types | |
using | ValidationContinuation = std::function< void(const Certificate &cert, const shared_ptr< ValidationState > &state)> |
Public Member Functions | |
CertificateFetcherDirectFetch (Face &face) | |
void | fetch (const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Asynchronously fetch certificate. More... | |
virtual void | setCertificateStorage (CertificateStorage &certStorage) |
Assign certificate storage to check known certificate and to cache unverified ones. More... | |
void | setSendDirectInterestOnly (bool wantDirectInterestOnly) |
If wantDirectInterestOnly , only the direct Interest will be sent out. More... | |
Protected Member Functions | |
void | dataCallback (const Data &data, const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Callback invoked when certificate is retrieved. More... | |
void | doFetch (const shared_ptr< CertificateRequest > &keyRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) override |
Asynchronous certificate fetching implementation. More... | |
void | nackCallback (const lp::Nack &nack, const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Callback invoked when interest for fetching certificate gets NACKed. More... | |
void | timeoutCallback (const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Callback invoked when interest for fetching certificate times out. More... | |
Protected Attributes | |
CertificateStorage * | m_certStorage |
Face & | m_face |
Scheduler | m_scheduler |
Extends CertificateFetcherFromNetwork to fetch certificates from the incoming face of the packet.
During Interest and Data validation, if IncomingFaceId tag is present on the original Interest, this fetcher will send a "direct Interest" to fetch certificates from the face where the original packet was received, in addition to fetching from the infrastructure. The application must enable NextHopFaceId privilege on the face used by this fetcher prior to the validation.
Definition at line 40 of file certificate-fetcher-direct-fetch.hpp.
|
inherited |
Definition at line 43 of file certificate-fetcher.hpp.
|
explicit |
Definition at line 30 of file certificate-fetcher-direct-fetch.cpp.
|
protectedinherited |
Callback invoked when certificate is retrieved.
Definition at line 59 of file certificate-fetcher-from-network.cpp.
|
overrideprotectedvirtual |
Asynchronous certificate fetching implementation.
Implements ndn::security::v2::CertificateFetcher.
Definition at line 42 of file certificate-fetcher-direct-fetch.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.
|
protectedinherited |
Callback invoked when interest for fetching certificate gets NACKed.
Retries with exponential backoff while certRequest->nRetriesLeft > 0
Definition at line 78 of file certificate-fetcher-from-network.cpp.
|
virtualinherited |
Assign certificate storage to check known certificate and to cache unverified ones.
certStorage
should be valid for the lifetime of CertificateFetcher Reimplemented in ndn::security::v2::CertificateBundleFetcher.
Definition at line 41 of file certificate-fetcher.cpp.
void ndn::security::v2::CertificateFetcherDirectFetch::setSendDirectInterestOnly | ( | bool | wantDirectInterestOnly | ) |
If wantDirectInterestOnly
, only the direct Interest will be sent out.
Definition at line 36 of file certificate-fetcher-direct-fetch.cpp.
|
protectedinherited |
Callback invoked when interest for fetching certificate times out.
It will retry if certRequest->nRetriesLeft > 0
Definition at line 99 of file certificate-fetcher-from-network.cpp.
|
protectedinherited |
Definition at line 84 of file certificate-fetcher.hpp.
|
protectedinherited |
Definition at line 79 of file certificate-fetcher-from-network.hpp.
|
protectedinherited |
Definition at line 80 of file certificate-fetcher-from-network.hpp.