NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
certificate-storage.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2013-2017 Regents of the University of California.
4
*
5
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6
*
7
* ndn-cxx library is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License as published by the Free Software
9
* Foundation, either version 3 of the License, or (at your option) any later version.
10
*
11
* ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14
*
15
* You should have received copies of the GNU General Public License and GNU Lesser
16
* General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17
* <http://www.gnu.org/licenses/>.
18
*
19
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20
*/
21
22
#ifndef NDN_SECURITY_V2_CERTIFICATE_STORAGE_HPP
23
#define NDN_SECURITY_V2_CERTIFICATE_STORAGE_HPP
24
25
#include "
certificate.hpp
"
26
#include "
certificate-cache.hpp
"
27
#include "
trust-anchor-container.hpp
"
28
29
namespace
ndn
{
30
namespace
security
{
31
namespace
v2 {
32
36
class
CertificateStorage
: noncopyable
37
{
38
public
:
39
CertificateStorage
();
40
48
const
Certificate
*
49
findTrustedCert
(
const
Interest
& interestForCert)
const
;
50
55
bool
56
isCertKnown
(
const
Name
& certPrefix)
const
;
57
64
void
65
cacheUnverifiedCert
(
Certificate
&& cert);
66
70
const
TrustAnchorContainer
&
71
getTrustAnchors
()
const
;
72
76
const
CertificateCache
&
77
getVerifiedCertCache
()
const
;
78
82
const
CertificateCache
&
83
getUnverifiedCertCache
()
const
;
84
85
protected
:
94
void
95
loadAnchor
(
const
std::string& groupId,
Certificate
&& cert);
96
108
void
109
loadAnchor
(
const
std::string& groupId,
const
std::string& certfilePath,
110
time::nanoseconds refreshPeriod,
bool
isDir =
false
);
111
115
void
116
resetAnchors
();
117
124
void
125
cacheVerifiedCert
(
Certificate
&& cert);
126
130
void
131
resetVerifiedCerts
();
132
133
protected
:
134
TrustAnchorContainer
m_trustAnchors
;
135
CertificateCache
m_verifiedCertCache
;
136
CertificateCache
m_unverifiedCertCache
;
137
};
138
139
}
// namespace v2
140
}
// namespace security
141
}
// namespace ndn
142
143
#endif // NDN_SECURITY_V2_CERTIFICATE_STORAGE_HPP
ndn::security::v2::CertificateStorage::getVerifiedCertCache
const CertificateCache & getVerifiedCertCache() const
Definition:
certificate-storage.cpp:98
ndn::security::v2::CertificateStorage::loadAnchor
void loadAnchor(const std::string &groupId, Certificate &&cert)
load static trust anchor.
Definition:
certificate-storage.cpp:55
trust-anchor-container.hpp
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
ndn::security::v2::Certificate
The certificate following the certificate format naming convention.
Definition:
certificate.hpp:81
certificate-cache.hpp
ndn::security::v2::CertificateStorage::getTrustAnchors
const TrustAnchorContainer & getTrustAnchors() const
Definition:
certificate-storage.cpp:92
ndn::security::v2::CertificateStorage::cacheUnverifiedCert
void cacheUnverifiedCert(Certificate &&cert)
Cache unverified certificate for a period of time (5 minutes)
Definition:
certificate-storage.cpp:86
ndn::Interest
represents an Interest packet
Definition:
interest.hpp:42
ndn::security::v2::CertificateStorage::m_unverifiedCertCache
CertificateCache m_unverifiedCertCache
Definition:
certificate-storage.hpp:136
ndn::security::v2::CertificateStorage::isCertKnown
bool isCertKnown(const Name &certPrefix) const
Check if certificate exists in verified, unverified cache, or in the set of trust anchors...
Definition:
certificate-storage.cpp:47
websocketpp::transport::asio::socket::error::security
Catch-all error for security policy errors that don't fit in other categories.
Definition:
base.hpp:79
ndn::security::v2::CertificateCache
Represents a container for verified certificates.
Definition:
certificate-cache.hpp:43
ndn::security::v2::CertificateStorage::CertificateStorage
CertificateStorage()
Definition:
certificate-storage.cpp:28
ndn::security::v2::TrustAnchorContainer
represents a container for trust anchors.
Definition:
trust-anchor-container.hpp:55
ndn::security::v2::CertificateStorage::resetVerifiedCerts
void resetVerifiedCerts()
Remove any cached verified certificates.
Definition:
certificate-storage.cpp:80
ndn::security::v2::CertificateStorage::getUnverifiedCertCache
const CertificateCache & getUnverifiedCertCache() const
Definition:
certificate-storage.cpp:104
ndn::security::v2::CertificateStorage
Storage for trusted anchors, verified certificate cache, and unverified certificate cache...
Definition:
certificate-storage.hpp:36
ndn::security::v2::CertificateStorage::cacheVerifiedCert
void cacheVerifiedCert(Certificate &&cert)
Cache verified certificate a period of time (1 hour)
Definition:
certificate-storage.cpp:74
certificate.hpp
ndn::security::v2::CertificateStorage::findTrustedCert
const Certificate * findTrustedCert(const Interest &interestForCert) const
Find a trusted certificate in trust anchor container or in verified cache.
Definition:
certificate-storage.cpp:35
ndn::security::v2::CertificateStorage::resetAnchors
void resetAnchors()
remove any previously loaded static or dynamic trust anchor
Definition:
certificate-storage.cpp:68
ndn::Name
Represents an absolute name.
Definition:
name.hpp:42
ndn::security::v2::CertificateStorage::m_verifiedCertCache
CertificateCache m_verifiedCertCache
Definition:
certificate-storage.hpp:135
ndn::security::v2::CertificateStorage::m_trustAnchors
TrustAnchorContainer m_trustAnchors
Definition:
certificate-storage.hpp:134
ndnSIM
ndn-cxx
src
security
v2
certificate-storage.hpp
Generated on Thu Nov 2 2017 03:30:28 for ndnSIM by
1.8.11