All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Classes | Typedefs | Enumerations | Functions
ndn Namespace Reference

Copyright (C) 2013-2018 Regents of the University of California. More...

Classes

class  ControlParameters
 A ControlParameters holds a Name and other fields for a ControlParameters which is used, for example, in the command interest to register a prefix with a forwarder. More...
 
class  ControlResponse
 A ControlResponse holds a status code, status text and other fields for a ControlResponse which is used, for example, in the response from sending a register prefix control command to a forwarder. More...
 
class  Data
 
class  DelegationSet
 A DelegationSet holds a list of DelegationSet::Delegation entries which is used as the content of a Link instance. More...
 
class  DigestSha256Signature
 A DigestSha256Signature extends Signature and holds the signature bits (which are only the SHA256 digest) and an empty SignatureInfo for a data packet or signed interest. More...
 
class  OID
 
class  ProtobufTlv
 ProtobufTlv has static methods to encode and decode an Protobuf Message object as NDN-TLV. More...
 
class  Tlv0_1WireFormat
 A Tlv0_1WireFormat extends Tlv0_1_1WireFormat so that it is an alias in case any applications use Tlv0_1WireFormat directly. More...
 
class  Tlv0_1_1WireFormat
 A Tlv0_1_1WireFormat extends Tlv0_2WireFormat so that it is an alias in case any applications use Tlv0_1_1WireFormat directly. More...
 
class  Tlv0_2WireFormat
 A Tlv0_2WireFormat extends WireFormat to override its virtual methods to implement encoding and decoding using NDN-TLV version 0.2. More...
 
class  TlvWireFormat
 A TlvWireFormat extends WireFormat to override its virtual methods to implement encoding and decoding using the preferred implementation of NDN-TLV. More...
 
class  WireFormat
 
class  AesAlgorithm
 The AesAlgorithm class provides static methods to manipulate keys, encrypt and decrypt using the AES symmetric key cipher. More...
 
class  EncryptParams
 An EncryptParams holds an algorithm type and other parameters used to encrypt and decrypt. More...
 
class  Encryptor
 Encryptor has static constants and utility methods for encryption, such as encryptData. More...
 
class  RsaAlgorithm
 The RsaAlgorithm class provides static methods to manipulate keys, encrypt and decrypt using RSA. More...
 
class  ConsumerDb
 ConsumerDb is an abstract base class the storage of decryption keys for the consumer. More...
 
class  Consumer
 A Consumer manages fetched group keys used to decrypt a data packet in the group-based encryption protocol. More...
 
class  DecryptKey
 
class  EncryptError
 EncryptError holds the ErrorCode enum and OnError callback definition for errors from the encrypt library. More...
 
class  EncryptKey
 An EncryptKey supplies the key for encrypt. More...
 
class  EncryptedContent
 An EncryptedContent holds an encryption type, a payload and other fields representing encrypted content. More...
 
class  GroupManagerDb
 GroupManagerDb is an abstract base class for the storage of data used by the GroupManager. More...
 
class  GroupManager
 A GroupManager manages keys and schedules for group members in a particular namespace. More...
 
class  Interval
 An Interval defines a time duration which contains a start timestamp and an end timestamp. More...
 
class  ProducerDb
 ProducerDb is an abstract base class for the storage of keys for the producer. More...
 
class  Producer
 A Producer manages content keys used to encrypt a data packet in the group-based encryption protocol. More...
 
class  RepetitiveInterval
 A RepetitiveInterval is an advanced interval which can repeat and can be used to find a simple Interval that a time point falls in. More...
 
class  Schedule
 Schedule is used to manage the times when a member can access data using two sets of RepetitiveInterval as follows. More...
 
class  Sqlite3ConsumerDb
 Sqlite3ConsumerDb extends ConsumerDb to implement the storage of decryption keys for the consumer using SQLite3. More...
 
class  Sqlite3GroupManagerDb
 Sqlite3GroupManagerDb extends GroupManagerDb to implement the storage of data used by the GroupManager using SQLite3. More...
 
class  Sqlite3ProducerDb
 Sqlite3ProducerDb extends ProducerDb to implement storage of keys for the producer using SQLite3. More...
 
class  Exclude
 An Exclude holds a vector of Exclude::Entry. More...
 
class  Face
 The Face class provides the main methods for NDN communication. More...
 
class  ForwardingFlags
 A ForwardingFlags object holds the flags which specify how the forwarding daemon should forward an interest for a registered prefix. More...
 
class  GenericSignature
 A GenericSignature extends Signature and holds the encoding bytes of the SignatureInfo so that the application can process experimental signature types. More...
 
class  HmacWithSha256Signature
 An HmacWithSha256Signature extends Signature and holds the signature bits and other info representing an HmacWithSha256 signature in a data packet. More...
 
class  InterestFilter
 An InterestFilter holds a Name prefix and optional regex match expression for use in Face::setInterestFilter. More...
 
class  Interest
 An Interest holds a Name and other fields for an interest. More...
 
class  KeyLocator
 
class  Link
 The Link class extends Data and represents a Link instance where the Data content is an encoded delegation set. More...
 
class  ControlParametersLite
 A ControlParametersLite holds a Name and other fields for a ControlParameters which is used, for example, in the command interest to register a prefix with a forwarder. More...
 
class  ControlResponseLite
 A ControlResponseLite holds a status code, status text and other fields for a ControlResponse which is used, for example, in the response from sending a register prefix control command to a forwarder. More...
 
class  DataLite
 A DataLite holds a NameLite and other fields to represent an NDN Data packet. More...
 
class  DelegationSetLite
 
class  ElementListenerLite
 An ElementListenerLite holds an OnReceivedElementLite function pointer. More...
 
class  Tlv0_1_1WireFormatLite
 A Tlv0_1_1WireFormatLite extends Tlv0_2WireFormatLite so that it is an alias in case any applications use Tlv0_1_1WireFormatLite directly. More...
 
class  Tlv0_2WireFormatLite
 A Tlv0_2WireFormatLite implements implement encoding and decoding using NDN-TLV version 0.2. More...
 
class  AesAlgorithmLite
 The AesAlgorithmLite class provides static methods to encrypt and decrypt using the AES symmetric key cipher. More...
 
class  EncryptParamsLite
 An EncryptParamsLite holds an algorithm type and other parameters used to encrypt and decrypt. More...
 
class  EncryptedContentLite
 An EncryptedContentLite holds an encryption type, a payload and other fields representing encrypted content. More...
 
class  ExcludeLite
 An ExcludeLite holds an array of ExcludeLite::Entry. More...
 
class  ForwardingFlagsLite
 A ForwardingFlagsLite holds the flags which specify how the forwarding daemon should forward an interest for a registered prefix. More...
 
class  InterestLite
 An InterestLite holds a NameLite and other fields for an interest. More...
 
class  KeyLocatorLite
 A KeyLocatorLite holds a type and other info to represent the key which signs a Data packet. More...
 
class  CongestionMarkLite
 CongestionMarkLite represents the congestion mark header field in an NDNLPv2 packet. More...
 
class  IncomingFaceIdLite
 IncomingFaceIdLite represents the incoming face ID header field in an NDNLPv2 packet. More...
 
class  LpPacketHeaderFieldLite
 
class  LpPacketLite
 
class  MetaInfoLite
 A MetaInfoLite holds a type and other info to represent the meta info of a Data packet. More...
 
class  NameLite
 A NameLite holds an array of NameLite::Component. More...
 
class  NetworkNackLite
 NetworkNackLite represents a network Nack packet and includes a Nack reason. More...
 
class  EcPrivateKeyLite
 An EcPrivateKeyLite holds a decoded or generated EC private key for use in crypto operations. More...
 
class  EcPublicKeyLite
 An EcPublicKeyLite holds a decoded EC public key for use in crypto operations. More...
 
class  RsaPrivateKeyLite
 An RsaPrivateKeyLite holds a decoded or generated RSA private key for use in crypto operations. More...
 
class  RsaPublicKeyLite
 An RsaPublicKeyLite holds a decoded RSA public key for use in crypto operations. More...
 
class  ValidityPeriodLite
 A ValidityPeriodLite is used in a Data packet's SignatureInfo and represents the begin and end times of a certificate's validity period. More...
 
class  SignatureLite
 A SignatureLite holds a signature type, a KeyLocatorLite, the signature bytes and other fields to represent the Signature block of a Data packet. More...
 
class  TcpTransportLite
 A TcpTransportLite object is used to send packets and to listen for incoming packets over a TCP socket. More...
 
class  UdpTransportLite
 A UdpTransportLite object is used to send packets and to listen for incoming packets over a UDP socket. More...
 
class  UnixTransportLite
 A UnixTransportLite object is used to send packets and to listen for incoming packets over a Unix socket. More...
 
class  BlobLite
 A BlobLite holds a pointer to an immutable pre-allocated buffer and its length This is like a JavaScript string which is a pointer to an immutable string. More...
 
class  CryptoLite
 CryptoLite has static methods for basic cryptography operations. More...
 
class  DynamicMallocUInt8ArrayLite
 A DynamicMallocUInt8ArrayLite extends DynamicUInt8ArrayLite to use malloc and realloc to resize the array. More...
 
class  DynamicUInt8ArrayLite
 A DynamicUInt8ArrayLite holds a pointer to an allocated array, the length of the allocated array, and an optional realloc function which can changes its size. More...
 
class  LpPacketHeaderField
 This is a base class for LP packet header fields like NetworkNack. More...
 
class  MetaInfo
 A MetaInfo holds the meta info which is signed inside the data packet. More...
 
class  Name
 A Name holds an array of Name::Component and represents an NDN name. More...
 
class  NetworkNack
 
class  CertificateExtension
 A CertificateExtension represents the Extension entry in a certificate. More...
 
class  CertificateSubjectDescription
 A CertificateSubjectDescription represents the SubjectDescription entry in a Certificate. More...
 
class  Certificate
 
class  IdentityCertificate
 
class  PublicKey
 
class  CommandInterestPreparer
 A CommandInterestPreparer keeps track of a timestamp and prepares a command interest by adding a timestamp and nonce to the name of an Interest. More...
 
class  CommandInterestSigner
 CommandInterestSigner is a helper class to create command interests. More...
 
class  BasicIdentityStorage
 BasicIdentityStorage extends IdentityStorage to implement a basic storage of identity, public keys and certificates using SQLite. More...
 
class  FilePrivateKeyStorage
 FilePrivateKeyStorage extends PrivateKeyStorage to implement private key storage using files. More...
 
class  IdentityManager
 An IdentityManager is the interface of operations related to identity, keys, and certificates. More...
 
class  IdentityStorage
 IdentityStorage is a base class for the storage of identity, public keys and certificates. More...
 
class  MemoryIdentityStorage
 MemoryIdentityStorage extends IdentityStorage and implements its methods to store identity, public key and certificate objects in memory. More...
 
class  MemoryPrivateKeyStorage
 MemoryPrivateKeyStorage extends PrivateKeyStorage to implement a simple in-memory private key store. More...
 
class  PrivateKeyStorage
 
class  KeyChain
 KeyChain is the main class of the security library. More...
 
class  KeyParams
 KeyParams is a base class for key parameters. More...
 
class  RsaKeyParams
 
class  EcKeyParams
 
class  EcdsaKeyParams
 
class  AesKeyParams
 
class  PibCertificateContainer
 A PibCertificateContainer is used to search/enumerate the certificates of a key. More...
 
class  PibIdentityContainer
 A PibIdentityContainer is used to search/enumerate the identities in a PIB. More...
 
class  PibIdentity
 PibIdentity is at the top level in PIB's Identity-Key-Certificate hierarchy. More...
 
class  PibImpl
 PibImpl is an abstract base class for the PIB implementation used by the Pib class. More...
 
class  PibKeyContainer
 A PibKeyContainer is used to search/enumerate the keys of an identity. More...
 
class  PibKey
 The PibKey class provides access to a key at the second level in the PIB's Identity-Key-Certificate hierarchy. More...
 
class  PibMemory
 PibMemory extends PibImpl and is used by the Pib class as an in-memory implementation of a PIB. More...
 
class  PibSqlite3
 PibSqlite3 extends PibImpl and is used by the Pib class as an implementation of a PIB based on an SQLite3 database. More...
 
class  Pib
 In general, a PIB (Public Information Base) stores the public portion of a user's cryptography keys. More...
 
class  CertificateCache
 A CertificateCache is used to save other users' certificate during verification. More...
 
class  ConfigPolicyManager
 A ConfigPolicyManager manages trust according to a configuration file in the Validator Configuration File Format. More...
 
class  NoVerifyPolicyManager
 
class  PolicyManager
 A PolicyManager is an abstract base class to represent the policy for verifying data packets. More...
 
class  SelfVerifyPolicyManager
 A SelfVerifyPolicyManager implements a PolicyManager to look in the storage for the public key with the name in the KeyLocator (if available) and use it to verify the data packet, without searching a certificate chain. More...
 
class  ValidationRequest
 
class  SafeBag
 A SafeBag represents a container for sensitive related information such as a certificate and private key. More...
 
class  SecurityException
 
class  UnrecognizedKeyFormatException
 
class  UnrecognizedDigestAlgorithmException
 
class  SigningInfo
 A SigningInfo holds the signing parameters passed to the KeyChain. More...
 
class  TpmBackEndFile
 TpmBackEndFile extends TpmBackEnd to implement a TPM back-end using on-disk file storage. More...
 
class  TpmBackEndMemory
 TpmBackEndMemory extends TpmBackEnd to implement a TPM back-end using in-memory storage. More...
 
class  TpmBackEnd
 TpmBackEnd is an abstract base class for a TPM backend implementation which provides a TpmKeyHandle to the TPM front end. More...
 
class  TpmKeyHandleMemory
 TpmKeyHandleMemory extends TpmKeyHandle to implement a TPM key handle that keeps the private key in memory. More...
 
class  TpmKeyHandle
 TpmKeyHandle is an abstract base class for a TPM key handle, which provides an interface to perform cryptographic operations with a key in the TPM. More...
 
class  TpmPrivateKey
 A TpmPrivateKey holds an in-memory private key and provides cryptographic operations such as for signing by the in-memory TPM. More...
 
class  Tpm
 The TPM (Trusted Platform Module) stores the private portion of a user's cryptography keys. More...
 
class  CertificateCacheV2
 A CertificateCacheV2 holds other user's verified certificates in security v2 format CertificateV2. More...
 
class  CertificateFetcherFromNetwork
 CertificateFetcherFromNetwork extends CertificateFetcher to fetch missing certificates from the network. More...
 
class  CertificateFetcherOffline
 CertificateFetcherOffline extends CertificateFetcher to implement a fetcher that does not fetch certificates (always offline). More...
 
class  CertificateFetcher
 CertificateFetcher is an abstract base class which provides an interface used by the validator to fetch missing certificates. More...
 
class  CertificateRequest
 A CertificateRequest represents a request for a certificate, associated with the number of retries left. More...
 
class  CertificateStorage
 The CertificateStorage class stores trusted anchors and has a verified certificate cache, and an unverified certificate cache. More...
 
class  CertificateV2
 CertificateV2 represents a certificate following the certificate format naming convention. More...
 
class  TrustAnchorContainer
 A TrustAnchorContainer represents a container for trust anchors. More...
 
class  CertificateContainerInterface
 
class  TrustAnchorGroup
 TrustAnchorGroup represents a group of trust anchors which implement the CertificateContainerInterface. More...
 
class  StaticTrustAnchorGroup
 The StaticTrustAnchorGroup class extends TrustAnchorGroup to implement a static trust anchor group. More...
 
class  DynamicTrustAnchorGroup
 The DynamicTrustAnchorGroup class extends TrustAnchorGroup to implement a dynamic trust anchor group. More...
 
class  ValidationError
 A ValidationError holds an error code and an optional detailed error message. More...
 
class  ValidationPolicyAcceptAll
 ValidationPolicyAcceptAll extends ValidationPolicy to implement a validator policy that accepts any signature of a Data or Interest packet. More...
 
class  ValidationPolicyCommandInterest
 ValidationPolicyCommandInterest extends ValidationPolicy as a policy for stop-and-wait command Interests. More...
 
class  ValidationPolicyConfig
 ValidationPolicyConfig implements a validator which can be set up via a configuration file. More...
 
class  ValidationPolicyFromPib
 ValidationPolicyFromPib extends ValidationPolicy to implement a validator policy that validates a packet using the default certificate of the key in the PIB that is named by the packet's KeyLocator. More...
 
class  ValidationPolicySimpleHierarchy
 ValidationPolicySimpleHierarchy extends ValidationPolicy to implement a Validation policy for a simple hierarchical trust model. More...
 
class  ValidationPolicy
 ValidationPolicy is an abstract base class that implements a validation policy for Data and Interest packets. More...
 
class  ValidationState
 ValidationState is an abstract base class for DataValidationState and InterestValidationState. More...
 
class  DataValidationState
 The DataValidationState class extends ValidationState to hold the validation state for a Data packet. More...
 
class  InterestValidationState
 The InterestValidationState class extends ValidationState to hold the validation state for an Interest packet. More...
 
class  ConfigChecker
 A ConfigChecker is an abstract base class for ConfigNameRelationChecker, etc. More...
 
class  ConfigNameRelationChecker
 
class  ConfigRegexChecker
 
class  ConfigHyperRelationChecker
 
class  ConfigFilter
 ConfigFilter is an abstract base class for RegexNameFilter, etc. More...
 
class  ConfigRelationNameFilter
 ConfigRelationNameFilter extends ConfigFilter to check that the name is in the given relation to the packet name. More...
 
class  ConfigRegexNameFilter
 ConfigRegexNameFilter extends ConfigFilter to check that the packet name matches the specified regular expression. More...
 
class  ConfigNameRelation
 ConfigNameRelation defines the ConfigNameRelation::Relation enum and static methods to work with name relations for the ValidatorConfig. More...
 
class  ConfigRule
 A ConfigRule represents a rule configuration section, used by ConfigValidator. More...
 
class  Validator
 The Validator class provides an interface for validating data and interest packets. More...
 
class  ValidatorConfigError
 A ValidatorConfigError extends runtime_error and represents an error using ValidatorConfig. More...
 
class  ValidatorConfig
 ValidatorConfig extends Validator to implements a validator which can be set up via a configuration file. More...
 
class  ValidatorNull
 A ValidatorNull extends Validator with an "accept-all" policy and an offline certificate fetcher. More...
 
class  ValidityPeriod
 A ValidityPeriod is used in a Data packet's SignatureInfo and represents the begin and end times of a certificate's validity period. More...
 
class  VerificationHelpers
 The VerificationHelpers class has static methods to verify signatures and digests. More...
 
class  Sha256WithEcdsaSignature
 A Sha256WithEcdsaSignature extends Signature and holds the signature bits and other info representing a SHA256-with-ECDSA signature in a data packet. More...
 
class  Sha256WithRsaSignature
 A Sha256WithRsaSignature extends Signature and holds the signature bits and other info representing a SHA256-with-RSA signature in a data packet. More...
 
class  Signature
 A Signature is an abstract base class providing methods to work with the signature information in a Data packet. More...
 
class  ChronoSync2013
 ChronoSync2013 implements the NDN ChronoSync protocol as described in the 2013 paper "Let's ChronoSync: Decentralized Dataset State Synchronization in Named Data Networking". More...
 
class  TcpTransport
 TcpTransport extends the Transport interface to implement communication over TCP. More...
 
class  Transport
 A Transport object is used by Face to send packets and to listen for incoming packets. More...
 
class  UdpTransport
 UdpTransport extends the Transport interface to implement communication over UDP. More...
 
class  UnixTransport
 UnixTransport extends the Transport interface to implement communication over a Unix socket. More...
 
class  Blob
 A Blob holds a pointer to an immutable byte array implemented as const std::vector<uint8_t>. More...
 
class  ChangeCounter
 A ChangeCounter keeps a target object whose change count is tracked by a local change count. More...
 
class  SharedPointerChangeCounter
 A ChangeCounter keeps a shared_ptr to a target object whose change count is tracked by a local change count. More...
 
class  ExponentialReExpress
 An ExponentialReExpress uses an internal onTimeout to express the interest again with double the interestLifetime. More...
 
class  MemoryContentCache
 A MemoryContentCache holds a set of Data packets and answers an Interest to return the correct Data packet. More...
 
class  SegmentFetcher
 SegmentFetcher is a utility class to the fetch latest version of segmented data. More...
 
class  SignedBlob
 A SignedBlob extends Blob to keep the offsets of a signed portion (e.g., the bytes of Data packet). More...
 
class  DerException
 
class  NegativeLengthException
 
class  DerEncodingException
 
class  DerDecodingException
 
class  DerNode
 DerNode implements the DER node types used in encoding/decoding DER-formatted data. More...
 
class  ElementListener
 An ElementListener extends an ndn_ElementListener struct to proved an abstract virtual onReceivedElement function which wraps the onReceivedElement used by the ndn_ElementListener struct. More...
 
class  TlvDecoder
 A TlvDecoder extends a C ndn_TlvDecoder struct and wraps related functions. More...
 
class  TlvEncoder
 A TlvEncoder extends a C ndn_TlvEncoder struct and wraps related functions. More...
 
class  DelayedCallTable
 
class  InterestFilterTable
 An InterestFilterTable is an internal class to hold a list of entries with an interest Filter and its OnInterestCallback. More...
 
class  PendingInterestTable
 A PendingInterestTable is an internal class to hold a list of pending interests with their callbacks. More...
 
class  RegisteredPrefixTable
 A RegisteredPrefixTable is an internal class to hold a list of registered prefixes with information necessary to remove the registration later. More...
 
class  CongestionMark
 CongestionMark represents the congestion mark header field in an NDNLPv2 packet. More...
 
class  IncomingFaceId
 
class  LpPacket
 An LpPacket represents an NDNLPv2 packet including header fields an an optional fragment. More...
 
class  Node
 
class  PibIdentityImpl
 PibIdentityImpl provides the backend implementation for PibIdentity. More...
 
class  PibKeyImpl
 PibKeyImpl provides the backend implementation for PibKey. More...
 
class  DigestTree
 
class  AsyncSocketTransport
 AsyncSocketTransport is a helper template class for AsyncTcpTransport and AsyncUnixTransport to implement common socket communication tasks using Boost's asio io_service. More...
 
class  BoostInfoTree
 BoostInfoTree is provided for compatibility with the Boost INFO property list format used in ndn-cxx. More...
 
class  BoostInfoParser
 A BoostInfoParser reads files in Boost's INFO format and constructs a BoostInfoTree. More...
 
class  CommandInterestGenerator
 An CommandInterestGenerator keeps track of a timestamp and generates command interests according to the NFD Signed Command Interests protocol: https://redmine.named-data.net/projects/ndn-cxx/wiki/CommandInterest. More...
 
class  ConfigFile
 A ConfigFile locates, opens, and parses a library configuration file, and holds the values for the application to get. More...
 
class  DynamicUInt8Vector
 A DynamicUInt8Vector extends ndn_DynamicUInt8Array to hold a shared_ptr<vector<uint8_t> > for use with C functions which need an ndn_DynamicUInt8Array. More...
 
class  NdnRegexBackrefManager
 
class  NdnRegexBackrefMatcher
 
class  NdnRegexComponentMatcher
 
class  NdnRegexComponentSetMatcher
 
class  NdnRegexPatternListMatcher
 
class  NdnRegexPseudoMatcher
 
class  NdnRegexRepeatMatcher
 

Typedefs

typedef double Milliseconds
 A time interval represented as the number of milliseconds.
 
typedef double MillisecondsSince1970
 The calendar time represented as the number of milliseconds since 1/1/1970.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Interest > &interest, const
ptr_lib::shared_ptr< Data >
&data)> 
OnData
 An OnData function object is used to pass a callback to expressInterest.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Interest > &interest)> 
OnTimeout
 An OnTimeout function object is used to pass a callback to expressInterest.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Interest > &interest, const
ptr_lib::shared_ptr
< NetworkNack > &networkNack)> 
OnNetworkNack
 An OnNetworkNack function object is used to pass a callback to expressInterest.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Name > &prefix, const
ptr_lib::shared_ptr< const
Interest > &interest, Face
&face, uint64_t
interestFilterId, const
ptr_lib::shared_ptr< const
InterestFilter > &filter)> 
OnInterestCallback
 An OnInterestCallback function object is used to pass a callback to setInterestFilter and optionally to registerPrefix.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Name > &prefix)> 
OnRegisterFailed
 An OnRegisterFailed function object is used to report when registerPrefix fails.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< const
Name > &prefix, uint64_t
registeredPrefixId)> 
OnRegisterSuccess
 An OnRegisterSuccess function object is used to report when registerPrefix succeeds.
 
typedef void(* OnReceivedElementLite )(ElementListenerLite *self, const uint8_t *element, size_t elementLength)
 
typedef std::vector
< CertificateSubjectDescription
SubjectDescriptionList
 
typedef std::vector
< CertificateExtension
ExtensionList
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Data >
&data)> 
OnVerified
 An OnVerified function object is used to pass a callback to verifyData to report a successful verification.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Data >
&data, const std::string
&reason)> 
OnDataValidationFailed
 An OnDataValidationFailed function object is used to pass a callback to verifyData to report a failed verification.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Data >
&data)> 
OnVerifyFailed
 An OnVerifyFailed function object is used to pass a callback to verifyData to report a failed verification.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Interest >
&interest)> 
OnVerifiedInterest
 An OnVerifiedInterest function object is used to pass a callback to verifyInterest to report a successful verification.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Interest >
&interest, const std::string
&reason)> 
OnInterestValidationFailed
 An OnInterestValidationFailed function object is used to pass a callback to verifyInterest to report a failed verification.
 
typedef func_lib::function
< void(const
ptr_lib::shared_ptr< Interest >
&interest)> 
OnVerifyInterestFailed
 An OnVerifyInterestFailed function object is used to pass a callback to verifyInterest to report a failed verification.
 
typedef func_lib::function
< void(const Data &data)> 
DataValidationSuccessCallback
 A DataValidationSuccessCallback function object is used to report a successful Data validation.
 
typedef func_lib::function
< void(const Data &data, const
ValidationError &error)> 
DataValidationFailureCallback
 A DataValidationFailureCallback function object is used to report a failed Data validation.
 
typedef func_lib::function
< void(const Interest
&interest)> 
InterestValidationSuccessCallback
 An InterestValidationSuccessCallback function object is used to report a successful Interest validation.
 
typedef func_lib::function
< void(const Interest
&interest, const
ValidationError &error)> 
InterestValidationFailureCallback
 An InterestValidationFailureCallback function object is used to report a failed Interest validation.
 
typedef DerNode::DerSequence DerSequence
 
typedef DerNode::DerGeneralizedTime DerGeneralizedTime
 

Enumerations

enum  KeyIdType { KEY_ID_TYPE_USER_SPECIFIED = 0, KEY_ID_TYPE_SHA256 = 1, KEY_ID_TYPE_RANDOM = 2 }
 The KeyIdType enum represents the type of a KeyId component in a key name. More...
 
enum  KeyType { KEY_TYPE_RSA = 0, KEY_TYPE_EC = 1, KEY_TYPE_ECDSA = 1, KEY_TYPE_AES = 128 }
 
enum  KeyClass { KEY_CLASS_PUBLIC, KEY_CLASS_PRIVATE, KEY_CLASS_SYMMETRIC }
 
enum  DigestAlgorithm { DIGEST_ALGORITHM_SHA256 }
 
enum  DerNodeType {
  DerNodeType_Eoc = 0, DerNodeType_Boolean = 1, DerNodeType_Integer = 2, DerNodeType_BitString = 3,
  DerNodeType_OctetString = 4, DerNodeType_Null = 5, DerNodeType_ObjectIdentifier = 6, DerNodeType_ObjectDescriptor = 7,
  DerNodeType_External = 40, DerNodeType_Real = 9, DerNodeType_Enumerated = 10, DerNodeType_EmbeddedPdv = 43,
  DerNodeType_Utf8String = 12, DerNodeType_RelativeOid = 13, DerNodeType_Sequence = 48, DerNodeType_Set = 49,
  DerNodeType_NumericString = 18, DerNodeType_PrintableString = 19, DerNodeType_T61String = 20, DerNodeType_VideoTexString = 21,
  DerNodeType_Ia5String = 22, DerNodeType_UtcTime = 23, DerNodeType_GeneralizedTime = 24, DerNodeType_GraphicString = 25,
  DerNodeType_VisibleString = 26, DerNodeType_GeneralString = 27, DerNodeType_UniversalString = 28, DerNodeType_CharacterString = 29,
  DerNodeType_BmpString = 30
}
 The DerNodeType enum defines the known DER node types.
 

Functions

void toHex (const uint8_t *array, size_t arrayLength, std::ostringstream &result)
 Write the hex representation of the bytes in array to the result. More...
 
std::string toHex (const uint8_t *array, size_t arrayLength)
 Return the hex representation of the bytes in array. More...
 
void ndn_trim (std::string &str)
 Modify str in place to erase whitespace on the left and right. More...
 
bool equalsIgnoreCase (const std::string &s1, const std::string &s2)
 Compare the strings for equality, ignoring case. More...
 
std::ostream & operator<< (std::ostream &os, const Name &name)
 
std::ostream & operator<< (std::ostream &os, const SigningInfo &info)
 
std::ostream & operator<< (std::ostream &os, const CertificateV2 &certificate)
 
std::ostream & operator<< (std::ostream &os, const ValidationError &error)
 
std::ostream & operator<< (std::ostream &os, const Blob &blob)
 
void ndn_trim (string &str)
 
bool equalsIgnoreCase (const string &s1, const string &s2)
 
string toBase64 (const uint8_t *array, size_t arrayLength, bool addNewlines=false)
 Return the base64 representation of the bytes in array. More...
 
void fromBase64 (const string &input, vector< uint8_t > &output)
 
void fromBase64 (const std::string &input, std::vector< uint8_t > &output)
 Decode the base64 input string and write the binary result to output. More...
 
ostream & operator<< (ostream &os, const ValidationError &error)
 
std::ostream & operator<< (std::ostream &os, const BoostInfoTree &tree)
 

Detailed Description

Copyright (C) 2013-2018 Regents of the University of California.

Copyright (C) 2017-2018 Regents of the University of California.

Copyright (C) 2018 Regents of the University of California.

Copyright (C) 2015-2018 Regents of the University of California.

Copyright (C) 2016-2018 Regents of the University of California.

Copyright (C) 2014-2018 Regents of the University of California.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Yingdi Yu yingd.nosp@m.i@cs.nosp@m..ucla.nosp@m..edu
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/algo/aes https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encrypt-params https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encryptor https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/algo/rsa https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/consumer-db https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/decrypt-key https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING. A DecryptKey supplies the key for decrypt.

Note
This class is an experimental feature. The API may change.
Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encrypt-key https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/encrypted-content https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/group-manager-db https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/interval https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/producer-db https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/producer https://github.com/named-data/ndn-group-encrypt
: excludeRange from ndn-cxx https://github.com/named-data/ndn-cxx/blob/master/src/exclude.cpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-group-encrypt src/repetitive-interval https://github.com/named-data/ndn-group-encrypt

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx fields.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/fields.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx packet.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/packet.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx nack.hpp https://github.com/named-data/ndn-cxx/blob/master/src/lp/nack.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: Alexander Afanasyev alexa.nosp@m.nder.nosp@m..afan.nosp@m.asye.nosp@m.v@ucl.nosp@m.a.ed.nosp@m.u
: Zhenkai Zhu zhenk.nosp@m.ai@c.nosp@m.s.ucl.nosp@m.a.ed.nosp@m.u

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/command-interest-signer.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/pib/pib-impl.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/pib/pib-memory.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu From PyNDN certificate_cache.py by Adeola Bannis. Originally from Yingdi Yu http://irl.cs.ucla.edu/~yingdi/.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/safe-bag.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/signing-info.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/back-end-file.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/back-end-mem.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/back-end.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/key-handle-mem.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/key-handle.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From https://github.com/named-data/ndn-cxx/blob/master/src/security/transform/private-key.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/tpm.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-cache.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-fetcher-from-network.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-fetcher-offline.hpp This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-fetcher.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-request.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate-storage.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/certificate.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/trust-anchor-container.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/trust-anchor-group.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-error.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-policy-accept-all.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-policy-command-interest.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-policy-config.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-policy-simple-hierarchy.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validation-state.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator-config/checker.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator-config/filter.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator-config/name-relation.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator-config/rule.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/v2/validator-config/common.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/validator-config.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/validator-null.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx src/security https://github.com/named-data/ndn-cxx

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/verification-helpers.hpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx util/segment-fetcher https://github.com/named-data/ndn-cxx

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Zhenkai Zhu zhenk.nosp@m.ai@c.nosp@m.s.ucl.nosp@m.a.ed.nosp@m.u
: Alexander Afanasyev alexa.nosp@m.nder.nosp@m..afan.nosp@m.asye.nosp@m.v@ucl.nosp@m.a.ed.nosp@m.u
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From PyNDN der.py by Adeola Bannis theco.nosp@m.dema.nosp@m.iden@.nosp@m.gmai.nosp@m.l.com.
: Originally from code in ndn-cxx by Yingdi Yu yingd.nosp@m.i@cs.nosp@m..ucla.nosp@m..edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu
: From ndn-cxx security https://github.com/named-data/ndn-cxx/blob/master/src/security/tpm/key-handle.cpp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu Derived from ChronoChat-js by Qiuhan Ding and Wentao Shang.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu From PyNDN boost_info_parser by Adeola Bannis.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu Derived from command-interest-generator.hpp by the NFD authors: https://github.com/named-data/NFD/blob/master/AUTHORS.md .

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: From https://github.com/named-data/ndn-cxx/blob/master/src/util/config-file.hpp
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Author
: Yingdi Yu http://irl.cs.ucla.edu/~yingdi/
: Jeff Thompson jefft.nosp@m.0@re.nosp@m.map.u.nosp@m.cla..nosp@m.edu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/. A copy of the GNU Lesser General Public License is in the file COPYING.

Enumeration Type Documentation

The KeyIdType enum represents the type of a KeyId component in a key name.

Enumerator
KEY_ID_TYPE_USER_SPECIFIED 

USER_SPECIFIED: A user-specified key ID.

It is the user's responsibility to ensure the uniqueness of key names.

KEY_ID_TYPE_SHA256 

SHA256: The SHA256 hash of the public key as the key id.

This KeyId type guarantees the uniqueness of key names.

KEY_ID_TYPE_RANDOM 

RANDOM: A 64-bit random number as the key id.

This KeyId provides rough uniqueness of key names.

Enumerator
KEY_TYPE_ECDSA 
Deprecated:
Use KEY_TYPE_EC .

Function Documentation

bool ndn::equalsIgnoreCase ( const std::string &  s1,
const std::string &  s2 
)

Compare the strings for equality, ignoring case.

Parameters
s1The first string to compare.
s2The second string to compare.
Returns
True if the strings are equal, ignoring case.
void ndn::fromBase64 ( const std::string &  input,
std::vector< uint8_t > &  output 
)

Decode the base64 input string and write the binary result to output.

Parameters
inputThe input base64 string.
outputWrite the result to output starting at index 0, calling output.resize() as needed.
void ndn::ndn_trim ( std::string &  str)

Modify str in place to erase whitespace on the left and right.

Parameters
strThe string to modify.
std::string ndn::toBase64 ( const uint8_t *  array,
size_t  arrayLength,
bool  addNewlines = false 
)

Return the base64 representation of the bytes in array.

Parameters
arrayThe array of bytes.
arrayLengthThe number of bytes in array.
addNewlines(optional) If true, add newlines to the output (good for writing to a file). If omitted, do not add newlines.
Returns
The base64 string.
void ndn::toHex ( const uint8_t *  array,
size_t  arrayLength,
std::ostringstream &  result 
)

Write the hex representation of the bytes in array to the result.

Parameters
arrayThe array of bytes.
arrayLengthThe number of bytes in array.
resultThe output stream to write to.
string ndn::toHex ( const uint8_t *  array,
size_t  arrayLength 
)

Return the hex representation of the bytes in array.

Parameters
arrayThe array of bytes.
arrayLengthThe number of bytes in array.
Returns
The hex string.