#include <certificate.hpp>
Classes | |
class | Error |
Public Types | |
typedef std::vector< CertificateSubjectDescription > | SubjectDescriptionList |
typedef std::vector< CertificateExtension > | ExtensionList |
Public Member Functions | |
Certificate () | |
The default constructor. More... | |
Certificate (const Data &data) | |
Create a Certificate from the content in the data packet. More... | |
Certificate (const Block &block) | |
Create a Certificate from the a block. More... | |
virtual | ~Certificate () |
void | wireDecode (const Block &wire) |
void | encode () |
encode certificate info into content More... | |
void | addSubjectDescription (const CertificateSubjectDescription &description) |
Add a subject description. More... | |
const SubjectDescriptionList & | getSubjectDescriptionList () const |
SubjectDescriptionList & | getSubjectDescriptionList () |
void | addExtension (const CertificateExtension &extension) |
Add a certificate extension. More... | |
const ExtensionList & | getExtensionList () const |
ExtensionList & | getExtensionList () |
void | setNotBefore (const time::system_clock::TimePoint ¬Before) |
time::system_clock::TimePoint & | getNotBefore () |
const time::system_clock::TimePoint & | getNotBefore () const |
void | setNotAfter (const time::system_clock::TimePoint ¬After) |
time::system_clock::TimePoint & | getNotAfter () |
const time::system_clock::TimePoint & | getNotAfter () const |
void | setPublicKeyInfo (const PublicKey &key) |
PublicKey & | getPublicKeyInfo () |
const PublicKey & | getPublicKeyInfo () const |
bool | isTooEarly () |
Check if the certificate is valid. More... | |
bool | isTooLate () |
Check if the certificate is valid. More... | |
void | printCertificate (std::ostream &os, const std::string &indent="") const |
Public Member Functions inherited from ndn::Data | |
Data () | |
Create an empty Data object. More... | |
Data (const Name &name) | |
Create a new Data object with the given name. More... | |
Data (const Block &wire) | |
Create a new Data object from wire encoding. More... | |
template<encoding::Tag TAG> | |
size_t | wireEncode (EncodingImpl< TAG > &encoder, bool wantUnsignedPortionOnly=false) const |
Fast encoding or block size estimation. More... | |
const Block & | wireEncode () const |
Encode to a wire format. More... | |
const Block & | wireEncode (EncodingBuffer &encoder, const Block &signatureValue) const |
Finalize Data packet encoding with the specified SignatureValue. More... | |
void | wireDecode (const Block &wire) |
Decode from the wire format. More... | |
bool | hasWire () const |
Check if Data is already has wire encoding. More... | |
const Name & | getName () const |
Get name of the Data packet. More... | |
Data & | setName (const Name &name) |
Set name to a copy of the given Name. More... | |
const Name & | getFullName () const |
Get full name of Data packet, including the implicit digest. More... | |
const MetaInfo & | getMetaInfo () const |
Get MetaInfo block from Data packet. More... | |
Data & | setMetaInfo (const MetaInfo &metaInfo) |
Set metaInfo to a copy of the given MetaInfo. More... | |
uint32_t | getContentType () const |
Data & | setContentType (uint32_t type) |
const time::milliseconds & | getFreshnessPeriod () const |
Data & | setFreshnessPeriod (const time::milliseconds &freshnessPeriod) |
const name::Component & | getFinalBlockId () const |
Data & | setFinalBlockId (const name::Component &finalBlockId) |
const Block & | getContent () const |
Get content Block. More... | |
Data & | setContent (const uint8_t *buffer, size_t bufferSize) |
Set the content from the buffer (buffer will be copied) More... | |
Data & | setContent (const Block &block) |
Set the content from the block. More... | |
Data & | setContent (const ConstBufferPtr &contentValue) |
Set the content from the pointer to immutable buffer. More... | |
const Signature & | getSignature () const |
Data & | setSignature (const Signature &signature) |
Set the signature to a copy of the given signature. More... | |
Data & | setSignatureValue (const Block &value) |
nfd::LocalControlHeader & | getLocalControlHeader () |
const nfd::LocalControlHeader & | getLocalControlHeader () const |
uint64_t | getIncomingFaceId () const |
Data & | setIncomingFaceId (uint64_t incomingFaceId) |
nfd::LocalControlHeader::CachingPolicy | getCachingPolicy () const |
Data & | setCachingPolicy (nfd::LocalControlHeader::CachingPolicy cachingPolicy) |
bool | operator== (const Data &other) const |
bool | operator!= (const Data &other) const |
Public Member Functions inherited from ndn::TagHost | |
template<typename T > | |
shared_ptr< T > | getTag () const |
get a tag item More... | |
template<typename T > | |
void | setTag (shared_ptr< T > tag) const |
set a tag item More... | |
template<typename T > | |
void | removeTag () const |
remove tag item More... | |
Protected Member Functions | |
void | decode () |
Protected Member Functions inherited from ndn::Data | |
void | onChanged () |
Clear the wire encoding. More... | |
Protected Attributes | |
SubjectDescriptionList | m_subjectDescriptionList |
time::system_clock::TimePoint | m_notBefore |
time::system_clock::TimePoint | m_notAfter |
PublicKey | m_key |
ExtensionList | m_extensionList |
Definition at line 37 of file certificate.hpp.
typedef std::vector<CertificateSubjectDescription> ndn::Certificate::SubjectDescriptionList |
Definition at line 50 of file certificate.hpp.
typedef std::vector<CertificateExtension> ndn::Certificate::ExtensionList |
Definition at line 51 of file certificate.hpp.
ndn::Certificate::Certificate | ( | ) |
The default constructor.
Definition at line 45 of file certificate.cpp.
|
explicit |
Create a Certificate from the content in the data packet.
data | The data packet with the content to decode. |
Definition at line 51 of file certificate.cpp.
References decode().
|
explicit |
Create a Certificate from the a block.
block | The raw block of the certificate |
Definition at line 58 of file certificate.cpp.
References decode().
|
virtual |
Definition at line 64 of file certificate.cpp.
void ndn::Certificate::wireDecode | ( | const Block & | wire | ) |
Definition at line 69 of file certificate.cpp.
References decode(), and ndn::Data::wireDecode().
Referenced by ndn::IdentityCertificate::wireDecode().
void ndn::Certificate::encode | ( | ) |
encode certificate info into content
Definition at line 94 of file certificate.cpp.
References ndn::OBufferStream::buf(), ndn::tlv::ContentType_Key, ndn::DEREncodeGeneralTime(), ndn::PublicKey::encode(), m_extensionList, m_key, m_notAfter, m_notBefore, m_subjectDescriptionList, ndn::Data::setContent(), and ndn::Data::setContentType().
|
inline |
Add a subject description.
description | The description to be added. |
Definition at line 89 of file certificate.hpp.
References m_subjectDescriptionList.
|
inline |
Definition at line 95 of file certificate.hpp.
References m_subjectDescriptionList.
|
inline |
Definition at line 101 of file certificate.hpp.
References m_subjectDescriptionList.
|
inline |
Add a certificate extension.
extension | the extension to be added |
Definition at line 111 of file certificate.hpp.
References m_extensionList.
|
inline |
Definition at line 117 of file certificate.hpp.
References m_extensionList.
|
inline |
Definition at line 123 of file certificate.hpp.
References m_extensionList.
|
inline |
Definition at line 129 of file certificate.hpp.
References m_notBefore.
|
inline |
Definition at line 135 of file certificate.hpp.
References m_notBefore.
Referenced by ndn::SecPublicInfoSqlite3::addCertificate().
|
inline |
Definition at line 141 of file certificate.hpp.
References m_notBefore.
|
inline |
Definition at line 147 of file certificate.hpp.
References m_notAfter.
|
inline |
Definition at line 153 of file certificate.hpp.
References m_notAfter.
Referenced by ndn::SecPublicInfoSqlite3::addCertificate().
|
inline |
Definition at line 159 of file certificate.hpp.
References m_notAfter.
|
inline |
Definition at line 165 of file certificate.hpp.
References m_key.
|
inline |
Definition at line 171 of file certificate.hpp.
References m_key.
Referenced by ndn::SecPublicInfoSqlite3::addCertificate(), ndn::security::PibMemory::addCertificate(), ndn::security::PibSqlite3::addCertificate(), ndn::CommandInterestValidator::addInterestRule(), and ndn::security::KeyChain::selfSign().
|
inline |
Definition at line 177 of file certificate.hpp.
References decode(), isTooEarly(), isTooLate(), m_key, and printCertificate().
bool ndn::Certificate::isTooEarly | ( | ) |
Check if the certificate is valid.
Definition at line 76 of file certificate.cpp.
References m_notBefore, and ndn::time::system_clock::now().
Referenced by getPublicKeyInfo().
bool ndn::Certificate::isTooLate | ( | ) |
Check if the certificate is valid.
Definition at line 85 of file certificate.cpp.
References m_notAfter, and ndn::time::system_clock::now().
Referenced by getPublicKeyInfo().
void ndn::Certificate::printCertificate | ( | std::ostream & | os, |
const std::string & | indent = "" |
||
) | const |
Definition at line 269 of file certificate.cpp.
References ndn::tlv::DigestSha256, ndn::PublicKey::encode(), ndn::Signature::getKeyLocator(), ndn::PublicKey::getKeyType(), ndn::KeyLocator::getName(), ndn::Data::getName(), ndn::Data::getSignature(), ndn::KeyLocator::getType(), ndn::Name::isPrefixOf(), ndn::KEY_TYPE_ECDSA, ndn::KEY_TYPE_RSA, ndn::KeyLocator::KeyLocator_KeyDigest, ndn::KeyLocator::KeyLocator_Name, ndn::KeyLocator::KeyLocator_None, m_key, m_notAfter, m_notBefore, m_subjectDescriptionList, ndn::tlv::SignatureSha256WithEcdsa, ndn::tlv::SignatureSha256WithRsa, and ndn::time::toIsoString().
Referenced by getPublicKeyInfo(), and ndn::operator<<().
|
protected |
Definition at line 197 of file certificate.cpp.
References ndn::BERDecodeTime(), ndn::PublicKey::decode(), ndn::Data::getContent(), m_extensionList, m_key, m_notAfter, m_notBefore, and m_subjectDescriptionList.
Referenced by Certificate(), getPublicKeyInfo(), and wireDecode().
|
protected |
Definition at line 204 of file certificate.hpp.
Referenced by addSubjectDescription(), decode(), encode(), getSubjectDescriptionList(), and printCertificate().
|
protected |
Definition at line 205 of file certificate.hpp.
Referenced by decode(), encode(), getNotBefore(), isTooEarly(), printCertificate(), and setNotBefore().
|
protected |
Definition at line 206 of file certificate.hpp.
Referenced by decode(), encode(), getNotAfter(), isTooLate(), printCertificate(), and setNotAfter().
|
protected |
Definition at line 207 of file certificate.hpp.
Referenced by decode(), encode(), getPublicKeyInfo(), printCertificate(), and setPublicKeyInfo().
|
protected |
Definition at line 208 of file certificate.hpp.
Referenced by addExtension(), decode(), encode(), and getExtensionList().