1#ifndef NDNPH_KEYCHAIN_CERTIFICATE_HPP
2#define NDNPH_KEYCHAIN_CERTIFICATE_HPP
4#include "../packet/data.hpp"
14 static const uint8_t tlv[]{0x08, 0x03,
'K',
'E',
'Y'};
22 static const uint8_t tlv[]{0x08, 0x05,
'N',
'D',
'N',
'p',
'h'};
30 static const uint8_t tlv[]{0x08, 0x04,
's',
'e',
'l',
'f'};
59 result = input.getPrefix(-2);
61 result = input.getPrefix(-4);
67 return result.
clone(region);
87 result = input.getPrefix(-2);
94 return result.
clone(region);
114 return input.clone(region);
177 if (sigInfo !=
nullptr) {
178 return sigInfo->
name;
188 if (sigInfo ==
nullptr) {
193 for (
const auto& tlv : decoder) {
9namespace certificate {
…}
205template<
typename Signer,
typename Modify>
208 const Signer& signer,
const Modify& modify) {
215 data.setFreshnessPeriod(3600000);
228 return data.sign(signer, std::move(si));
Name component.
Definition component.hpp:16
static Component constant(const uint8_t *tlv, size_t size)
Construct from const TLV buffer.
Definition component.hpp:64
SignatureInfo on Data.
Definition sig-info.hpp:59
Data packet.
Definition data.hpp:136
const DSigInfo * getSigInfo() const
Retrieve SignatureInfo.
Definition data.hpp:184
detail::SignedDataRef Signed
Result of Data::sign operation.
Definition data.hpp:246
const Name & getName() const
Definition data.hpp:140
uint8_t getContentType() const
Definition data.hpp:148
TLV encoder that accepts items in reverse order.
Definition encoder.hpp:10
bool prepend(const First &first, const Arg &... arg)
Prepend a sequence of values.
Definition encoder.hpp:123
void trim() const
Release unused space to the Region.
Definition encoder.hpp:58
Name.
Definition name.hpp:14
Name append(Region ®ion, const C &... comps) const
Append a sequence of components.
Definition name.hpp:183
Name clone(Region ®ion) const
Clone TLV-VALUE into given region.
Definition name.hpp:203
Region-based memory allocator thats owns memory of NDNph objects.
Definition region.hpp:9
RefType create(Arg &&... arg)
Allocate and create an object, and return its reference.
Definition region.hpp:90
Name name
Definition sig-info.hpp:45
tlv::Value extensions
Definition sig-info.hpp:46
ValidityPeriod of a certificate.
Definition validity-period.hpp:37
bool decodeFrom(const Decoder::Tlv &input)
Definition validity-period.hpp:81
Indicate that TLV-VALUE should be a random number.
Definition convention.hpp:13
Indicate that TLV-VALUE should be a timestamp.
Definition convention.hpp:27
Definition convention.hpp:111
A sequence of bytes, usually TLV-VALUE.
Definition value.hpp:11
Decoder makeDecoder() const
Create a Decoder over this value buffer.
Definition value.hpp:64
@ Key
Definition an.hpp:68
ValidityPeriod getValidity(const Data &data)
Definition certificate.hpp:184
bool isCertificate(const Data &data)
Determine if the Data packet is a certificate.
Definition certificate.hpp:170
bool isKeyName(const Name &name)
Determine if the input is a key name.
Definition certificate.hpp:37
Component getIssuerSelf()
Return 'self' component as self-signed issuerId.
Definition certificate.hpp:29
Component getKeyComponent()
Return 'KEY' component.
Definition certificate.hpp:13
Name toKeyName(Region ®ion, const Name &input, bool mustCopy=false)
Convert to key name.
Definition certificate.hpp:82
Name makeKeyName(Region ®ion, const Name &input, const Component &keyId)
Construct key name with specified keyId.
Definition certificate.hpp:136
Name toCertName(Region ®ion, const Name &input, bool mustCopy=false)
Convert to certificate name.
Definition certificate.hpp:111
Name toSubjectName(Region ®ion, const Name &input, bool mustCopy=false)
Convert to subject name.
Definition certificate.hpp:56
Component getIssuerDefault()
Return 'NDNph' component as default issuerId.
Definition certificate.hpp:21
Name getIssuer(const Data &data)
Definition certificate.hpp:175
bool isCertName(const Name &name)
Determine if the input is a certificate name.
Definition certificate.hpp:43
Name makeCertName(Region ®ion, const Name &input, const Component &issuerId, const Component &version)
Construct certificate name with specified issuerId and version.
Definition certificate.hpp:149
Data::Signed buildCertificate(Region ®ion, const Name &name, const ValidityPeriod &validity, const Signer &signer, const Modify &modify)
Definition certificate.hpp:207