Validation policy for signed Interests. More...
#include <validation-policy-signed-interest.hpp>
Classes | |
class | Options |
Public Member Functions | |
ValidationPolicySignedInterest (unique_ptr< ValidationPolicy > inner, const Options &options={}) | |
Constructor. More... | |
Public Member Functions inherited from ndn::security::v2::ValidationPolicy | |
virtual | ~ValidationPolicy ()=default |
void | setInnerPolicy (unique_ptr< ValidationPolicy > innerPolicy) |
Set inner policy. More... | |
bool | hasInnerPolicy () const |
Check if inner policy is set. More... | |
ValidationPolicy & | getInnerPolicy () |
Return the inner policy. More... | |
void | setValidator (Validator &validator) |
Set validator to which the policy is associated. More... | |
virtual void | checkPolicy (const Certificate &certificate, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) |
Check certificate against the policy. More... | |
Protected Member Functions | |
void | checkPolicy (const Data &data, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) override |
Check data against the policy. More... | |
void | checkPolicy (const Interest &interest, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) override |
Check interest against the policy. More... | |
Additional Inherited Members | |
Public Types inherited from ndn::security::v2::ValidationPolicy | |
using | ValidationContinuation = std::function< void(const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state)> |
Public Attributes inherited from ndn::security::v2::ValidationPolicy | |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED | __pad0__: Validator* m_validator = nullptr |
unique_ptr< ValidationPolicy > | m_innerPolicy |
Validation policy for signed Interests.
This policy checks the timestamp, sequence number, and nonce fields of signed Interests.
Definition at line 41 of file validation-policy-signed-interest.hpp.
|
explicit |
Constructor.
inner | Validator for signed Interest and Data validation. This must not be nullptr. |
options | Signed Interest validation options |
std::invalid_argument | Inner policy is nullptr |
Definition at line 28 of file validation-policy-signed-interest.cpp.
References nonstd::optional_lite::std11::move(), NDN_THROW, ndn::security::v2::ValidationPolicy::setInnerPolicy(), and ndn::security::v2::ValidationPolicySignedInterest::Options::timestampGracePeriod.
|
overrideprotectedvirtual |
Check data
against the policy.
Depending on implementation of the policy, this check can be done synchronously or asynchronously.
Semantics of checkPolicy has changed from v1::Validator
state->fail
with appropriate error code and error description.Implements ndn::security::v2::ValidationPolicy.
Definition at line 43 of file validation-policy-signed-interest.cpp.
References ndn::security::v2::ValidationPolicy::checkPolicy(), and ndn::security::v2::ValidationPolicy::getInnerPolicy().
|
overrideprotectedvirtual |
Check interest
against the policy.
Depending on implementation of the policy, this check can be done synchronously or asynchronously.
Semantics of checkPolicy has changed from v1::Validator
state->fail
with appropriate error code and error description.Implements ndn::security::v2::ValidationPolicy.
Definition at line 51 of file validation-policy-signed-interest.cpp.
References ndn::time::abs(), ndn::security::v2::ValidationPolicy::checkPolicy(), ndn::security::v2::ValidationPolicy::getInnerPolicy(), ndn::security::v2::getKeyLocatorName(), ndn::Interest::getSignatureInfo(), ndn::security::v2::ValidationPolicySignedInterest::Options::maxNonceRecordCount, ndn::security::v2::ValidationPolicySignedInterest::Options::maxRecordCount, ndn::time::system_clock::now(), ndn::time::steady_clock::now(), ndn::security::v2::ValidationError::POLICY_ERROR, ndn::security::v2::ValidationPolicySignedInterest::Options::shouldValidateNonces, ndn::security::v2::ValidationPolicySignedInterest::Options::shouldValidateSeqNums, ndn::security::v2::ValidationPolicySignedInterest::Options::shouldValidateTimestamps, ndn::security::v2::ValidationPolicySignedInterest::Options::timestampGracePeriod, and ndn::security::V03.