Signing parameters passed to KeyChain. More...
#include <signing-info.hpp>
Classes | |
class | Error |
Public Types | |
enum | SignerType { SIGNER_TYPE_NULL = 0, SIGNER_TYPE_ID = 1, SIGNER_TYPE_KEY = 2, SIGNER_TYPE_CERT = 3, SIGNER_TYPE_SHA256 = 4, SIGNER_TYPE_HMAC = 5 } |
Public Member Functions | |
SigningInfo (SignerType signerType=SIGNER_TYPE_NULL, const Name &signerName=getEmptyName(), const SignatureInfo &signatureInfo=getEmptySignatureInfo()) | |
Constructor. More... | |
SigningInfo (const Identity &identity) | |
Construct from a PIB identity. More... | |
SigningInfo (const Key &key) | |
Construct from a PIB key. More... | |
SigningInfo (const std::string &signingStr) | |
Construct SigningInfo from its string representation. More... | |
SigningInfo & | setSigningIdentity (const Name &identity) |
Set signer as an identity with name identity . More... | |
SigningInfo & | setSigningKeyName (const Name &keyName) |
Set signer as a key with name keyName . More... | |
SigningInfo & | setSigningCertName (const Name &certificateName) |
Set signer as a certificate with name certificateName . More... | |
SigningInfo & | setSigningHmacKey (const std::string &hmacKey) |
Set signer to a base64-encoded HMAC key. More... | |
SigningInfo & | setSha256Signing () |
Set SHA-256 as the signing method. More... | |
SigningInfo & | setPibIdentity (const Identity &identity) |
Set signer as a PIB identity handler identity . More... | |
SigningInfo & | setPibKey (const Key &key) |
Set signer as a PIB key handler key . More... | |
SignerType | getSignerType () const |
const Name & | getSignerName () const |
const Identity & | getPibIdentity () const |
const Key & | getPibKey () const |
shared_ptr< transform::PrivateKey > | getHmacKey () const |
SigningInfo & | setDigestAlgorithm (const DigestAlgorithm &algorithm) |
Set the digest algorithm for signing operations. More... | |
DigestAlgorithm | getDigestAlgorithm () const |
SigningInfo & | setSignatureInfo (const SignatureInfo &signatureInfo) |
Set a semi-prepared SignatureInfo;. More... | |
const SignatureInfo & | getSignatureInfo () const |
Static Public Member Functions | |
static const Name & | getEmptyName () |
static const SignatureInfo & | getEmptySignatureInfo () |
static const Name & | getDigestSha256Identity () |
A localhost identity to indicate that the signature is generated using SHA-256. More... | |
static const Name & | getHmacIdentity () |
A localhost identity to indicate that the signature is generated using an HMAC key. More... | |
Friends | |
bool | operator== (const SigningInfo &lhs, const SigningInfo &rhs) |
bool | operator!= (const SigningInfo &lhs, const SigningInfo &rhs) |
Signing parameters passed to KeyChain.
A SigningInfo is invalid if the specified identity/key/certificate does not exist, or the PIB Identity or Key instance is not valid.
Definition at line 41 of file signing-info.hpp.
Definition at line 50 of file signing-info.hpp.
|
explicit |
Constructor.
signerType | The type of signer |
signerName | The name of signer; interpretation differs per signerType |
signatureInfo | A semi-prepared SignatureInfo which contains other information except SignatureType and KeyLocator. If SignatureType and KeyLocator are specified, they may be overwritten by KeyChain. |
Definition at line 61 of file signing-info.cpp.
References ndn::SHA256, SIGNER_TYPE_HMAC, and SIGNER_TYPE_NULL.
|
explicit |
Construct from a PIB identity.
Definition at line 72 of file signing-info.cpp.
References setPibIdentity().
|
explicit |
|
explicit |
Construct SigningInfo from its string representation.
signingStr | The representative signing string for SigningInfo signing method |
Syntax of the representative string is as follows:
id:/<my-identity>
key:/<my-identity>/ksk-1
cert:/<my-identity>/KEY/ksk-1/ID-CERT/FD%01
hmac-sha256:<base64-encoded-key>
id:/localhost/identity/digest-sha256
Definition at line 84 of file signing-info.cpp.
References getDigestSha256Identity(), NDN_THROW, setDigestAlgorithm(), setSha256Signing(), setSigningCertName(), setSigningHmacKey(), setSigningIdentity(), setSigningKeyName(), and ndn::SHA256.
SigningInfo & ndn::security::SigningInfo::setSigningIdentity | ( | const Name & | identity | ) |
Set signer as an identity with name identity
.
Definition at line 123 of file signing-info.cpp.
References SIGNER_TYPE_ID.
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setSigningKeyName | ( | const Name & | keyName | ) |
Set signer as a key with name keyName
.
Definition at line 132 of file signing-info.cpp.
References SIGNER_TYPE_KEY.
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setSigningCertName | ( | const Name & | certificateName | ) |
Set signer as a certificate with name certificateName
.
Definition at line 141 of file signing-info.cpp.
References SIGNER_TYPE_CERT.
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setSigningHmacKey | ( | const std::string & | hmacKey | ) |
Set signer to a base64-encoded HMAC key.
Definition at line 149 of file signing-info.cpp.
References ndn::Name::append(), ndn::security::transform::base64Decode(), ndn::OBufferStream::buf(), getHmacIdentity(), ndn::HMAC, ndn::SHA256, SIGNER_TYPE_HMAC, and ndn::security::transform::streamSink().
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setSha256Signing | ( | ) |
Set SHA-256 as the signing method.
Definition at line 168 of file signing-info.cpp.
References ndn::Name::clear(), and SIGNER_TYPE_SHA256.
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setPibIdentity | ( | const Identity & | identity | ) |
Set signer as a PIB identity handler identity
.
Definition at line 176 of file signing-info.cpp.
References ndn::security::pib::Identity::getName(), ns3::ndn::Name, and SIGNER_TYPE_ID.
Referenced by SigningInfo().
SigningInfo & ndn::security::SigningInfo::setPibKey | ( | const Key & | key | ) |
Set signer as a PIB key handler key
.
Definition at line 185 of file signing-info.cpp.
References ndn::security::pib::Key::getName(), ns3::ndn::Name, and SIGNER_TYPE_KEY.
Referenced by SigningInfo().
|
inline |
Definition at line 161 of file signing-info.hpp.
Referenced by ndn::security::operator<<().
|
inline |
Definition at line 170 of file signing-info.hpp.
Referenced by ndn::security::operator<<().
|
inline |
Definition at line 181 of file signing-info.hpp.
References SIGNER_TYPE_ID.
|
inline |
Definition at line 192 of file signing-info.hpp.
References SIGNER_TYPE_KEY.
|
inline |
Definition at line 199 of file signing-info.hpp.
References SIGNER_TYPE_HMAC.
|
inline |
Set the digest algorithm for signing operations.
Definition at line 209 of file signing-info.hpp.
Referenced by SigningInfo().
|
inline |
Definition at line 219 of file signing-info.hpp.
Referenced by ndn::security::v2::KeyChain::sign().
SigningInfo & ndn::security::SigningInfo::setSignatureInfo | ( | const SignatureInfo & | signatureInfo | ) |
Set a semi-prepared SignatureInfo;.
Definition at line 194 of file signing-info.cpp.
|
inline |
Definition at line 234 of file signing-info.hpp.
|
static |
Definition at line 34 of file signing-info.cpp.
|
static |
Definition at line 41 of file signing-info.cpp.
|
static |
A localhost identity to indicate that the signature is generated using SHA-256.
Definition at line 48 of file signing-info.cpp.
Referenced by ndn::security::v2::getKeyLocatorName(), ndn::security::operator<<(), and SigningInfo().
|
static |
A localhost identity to indicate that the signature is generated using an HMAC key.
Definition at line 55 of file signing-info.cpp.
Referenced by setSigningHmacKey().
|
friend |
Definition at line 263 of file signing-info.hpp.
|
friend |
Definition at line 269 of file signing-info.hpp.