#include <sec-public-info-sqlite3.hpp>
Classes | |
class | Error |
Public Member Functions | |
SecPublicInfoSqlite3 (const std::string &dir="") | |
virtual | ~SecPublicInfoSqlite3 () |
virtual void | setTpmLocator (const std::string &tpmLocator) |
Set the corresponding TPM information to tpmLocator . More... | |
virtual std::string | getTpmLocator () |
Get TPM Locator. More... | |
virtual std::string | getPibLocator () |
virtual bool | doesIdentityExist (const Name &identityName) |
Check if the specified identity already exists. More... | |
virtual void | addIdentity (const Name &identityName) |
Add a new identity. More... | |
virtual bool | revokeIdentity () |
Revoke the identity. More... | |
virtual bool | doesPublicKeyExist (const Name &keyName) |
Check if the specified key already exists. More... | |
virtual void | addKey (const Name &keyName, const v1::PublicKey &publicKeyDer) |
Add a public key to the identity storage. More... | |
virtual shared_ptr< v1::PublicKey > | getPublicKey (const Name &keyName) |
Get shared pointer to PublicKey object from the identity storage. More... | |
virtual KeyType | getPublicKeyType (const Name &keyName) |
Get the type of the queried public key. More... | |
virtual bool | doesCertificateExist (const Name &certificateName) |
Check if the specified certificate already exists. More... | |
virtual void | addCertificate (const v1::IdentityCertificate &certificate) |
Add a certificate to the identity storage. More... | |
virtual shared_ptr< v1::IdentityCertificate > | getCertificate (const Name &certificateName) |
Get a shared pointer to identity certificate object from the identity storage. More... | |
virtual Name | getDefaultIdentity () |
Get name of the default identity. More... | |
virtual Name | getDefaultKeyNameForIdentity (const Name &identityName) |
Get name of the default key name for the specified identity. More... | |
virtual Name | getDefaultCertificateNameForKey (const Name &keyName) |
Get name of the default certificate name for the specified key. More... | |
virtual void | getAllIdentities (std::vector< Name > &nameList, bool isDefault) |
Get all the identities from public info. More... | |
virtual void | getAllKeyNames (std::vector< Name > &nameList, bool isDefault) |
Get all the key names from public info. More... | |
virtual void | getAllKeyNamesOfIdentity (const Name &identity, std::vector< Name > &nameList, bool isDefault) |
Get all the key names of a particular identity. More... | |
virtual void | getAllCertificateNames (std::vector< Name > &nameList, bool isDefault) |
Get all the certificate name in public info. More... | |
virtual void | getAllCertificateNamesOfKey (const Name &keyName, std::vector< Name > &nameList, bool isDefault) |
Get all the certificate name of a particular key name. More... | |
virtual void | deleteCertificateInfo (const Name &certificateName) |
Delete a certificate. More... | |
virtual void | deletePublicKeyInfo (const Name &keyName) |
Delete a public key and related certificates. More... | |
virtual void | deleteIdentityInfo (const Name &identity) |
Delete an identity and related public keys and certificates. More... | |
Public Member Functions inherited from ndn::security::SecPublicInfo | |
SecPublicInfo (const std::string &location) | |
virtual | ~SecPublicInfo () |
The virtual Destructor. More... | |
std::string | getPibLocator () |
Get PIB Locator. More... | |
DEPRECATED (void addPublicKey(const Name &keyName, KeyType keyType, const v1::PublicKey &publicKey)) | |
Add a public key to the identity storage. More... | |
void | setDefaultIdentity (const Name &identityName) |
Set the default identity. More... | |
void | setDefaultKeyNameForIdentity (const Name &keyName) |
Set the default key name for the corresponding identity. More... | |
void | setDefaultCertificateNameForKey (const Name &certificateName) |
Set the default certificate name for the corresponding key. More... | |
Name | getNewKeyName (const Name &identityName, bool useKsk) |
Generate a key name for the identity. More... | |
Name | getDefaultCertificateNameForIdentity (const Name &identityName) |
Get the default certificate name for the specified identity. More... | |
Name | getDefaultCertificateName () |
Get the default certificate name of the default identity. More... | |
void | addCertificateAsKeyDefault (const v1::IdentityCertificate &certificate) |
Add a certificate and set the certificate as the default one of its corresponding key. More... | |
void | addCertificateAsIdentityDefault (const v1::IdentityCertificate &certificate) |
Add a certificate into the public key identity storage and set the certificate as the default one of its corresponding identity. More... | |
void | addCertificateAsSystemDefault (const v1::IdentityCertificate &certificate) |
Add a certificate into the public key identity storage and set the certificate as the default one of the default identity. More... | |
DEPRECATED (shared_ptr< v1::IdentityCertificate > defaultCertificate()) | |
Get cached default certificate of the default identity. More... | |
shared_ptr< v1::IdentityCertificate > | getDefaultCertificate () |
Get cached default certificate of the default identity. More... | |
void | refreshDefaultCertificate () |
try to get the default certificate of the default identity from the public info More... | |
Static Public Attributes | |
static const std::string | SCHEME |
Additional Inherited Members | |
Protected Attributes inherited from ndn::security::SecPublicInfo | |
shared_ptr< v1::IdentityCertificate > | m_defaultCertificate |
std::string | m_location |
Definition at line 36 of file sec-public-info-sqlite3.hpp.
|
explicit |
Definition at line 113 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Definition at line 158 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Set the corresponding TPM information to tpmLocator
.
If the provided tpmLocator
is different from the existing one, the PIB will be reset, otherwise nothing will be changed.
For legacy issue, the TPM info may not exist (some old PIB content may not have this info), this method will simply set the TPM info as provided without changing anything else. Thus an ideal process of handling old PIB is to check if TPM info exists. If it does not exist, then set it to the default value according to configuration.
Implements ndn::security::SecPublicInfo.
Definition at line 213 of file sec-public-info-sqlite3.cpp.
References getTpmLocator().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get TPM Locator.
SecPublicInfo::Error | if the TPM info does not exist |
Implements ndn::security::SecPublicInfo.
Definition at line 231 of file sec-public-info-sqlite3.cpp.
References ndn::security::sqlite3_bind_string(), and ndn::security::sqlite3_column_string().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error(), and setTpmLocator().
|
virtual |
Definition at line 279 of file sec-public-info-sqlite3.cpp.
References ndn::security::SecPublicInfo::m_location.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Check if the specified identity already exists.
identityName | The identity name |
Implements ndn::security::SecPublicInfo.
Definition at line 285 of file sec-public-info-sqlite3.cpp.
References ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by addIdentity(), and ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Add a new identity.
if identity already exist, do not add it again
identityName | The identity name to be added |
Implements ndn::security::SecPublicInfo.
Definition at line 309 of file sec-public-info-sqlite3.cpp.
References doesIdentityExist(), ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by addKey(), ndn::security::SecPublicInfoSqlite3::Error::Error(), and getDefaultIdentity().
|
virtual |
Revoke the identity.
Implements ndn::security::SecPublicInfo.
Definition at line 328 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Check if the specified key already exists.
keyName | The name of the key |
Implements ndn::security::SecPublicInfo.
Definition at line 335 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by addKey(), ndn::security::SecPublicInfoSqlite3::Error::Error(), and getDefaultKeyNameForIdentity().
|
virtual |
Add a public key to the identity storage.
keyName | The name of the public key to be added |
publicKey | Reference to the PublicKey object |
Implements ndn::security::SecPublicInfo.
Definition at line 366 of file sec-public-info-sqlite3.cpp.
References addIdentity(), ndn::Buffer::buf(), doesPublicKeyExist(), ndn::Name::empty(), ndn::security::v1::PublicKey::get(), ndn::Name::get(), ndn::security::v1::PublicKey::getKeyType(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by addCertificate(), and ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get shared pointer to PublicKey object from the identity storage.
keyName | The name of the requested public key |
SecPublicInfo::Error | if public key does not exist |
Implements ndn::security::SecPublicInfo.
Definition at line 401 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
Get the type of the queried public key.
keyName | The name of the requested public key |
Implements ndn::security::SecPublicInfo.
Definition at line 433 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::NONE, ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Check if the specified certificate already exists.
certificateName | The name of the certificate |
Implements ndn::security::SecPublicInfo.
Definition at line 463 of file sec-public-info-sqlite3.cpp.
References ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by addCertificate(), ndn::security::SecPublicInfoSqlite3::Error::Error(), and getDefaultCertificateNameForKey().
|
virtual |
Add a certificate to the identity storage.
It will add the corresponding public key and identity if they do not exist
certificate | The certificate to be added |
Implements ndn::security::SecPublicInfo.
Definition at line 487 of file sec-public-info-sqlite3.cpp.
References addKey(), ndn::security::v1::IdentityCertificate::certificateNameToPublicKeyName(), doesCertificateExist(), ndn::Name::get(), ndn::Signature::getKeyLocator(), ndn::KeyLocator::getName(), ndn::Data::getName(), ndn::security::v1::Certificate::getNotAfter(), ndn::security::v1::Certificate::getNotBefore(), ndn::Name::getPrefix(), ndn::security::v1::Certificate::getPublicKeyInfo(), ndn::Data::getSignature(), ndn::security::sqlite3_bind_string(), ndn::time::toUnixTimestamp(), ndn::name::Component::toUri(), ndn::Name::toUri(), and ndn::Data::wireEncode().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get a shared pointer to identity certificate object from the identity storage.
certificateName | The name of the requested certificate |
SecPublicInfo::Error | if the certificate does not exist |
Implements ndn::security::SecPublicInfo.
Definition at line 542 of file sec-public-info-sqlite3.cpp.
References ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get name of the default identity.
SecPublicInfo::Error | if there is no default. |
Implements ndn::security::SecPublicInfo.
Definition at line 578 of file sec-public-info-sqlite3.cpp.
References addIdentity(), ndn::security::sqlite3_bind_string(), ndn::security::sqlite3_column_string(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get name of the default key name for the specified identity.
identityName | The identity name |
SecPublicInfo::Error | if there is no default |
Implements ndn::security::SecPublicInfo.
Definition at line 628 of file sec-public-info-sqlite3.cpp.
References ndn::Name::append(), doesPublicKeyExist(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get name of the default certificate name for the specified key.
keyName | The key name. |
SecPublicInfo::Error | if there is no default. |
Implements ndn::security::SecPublicInfo.
Definition at line 690 of file sec-public-info-sqlite3.cpp.
References ndn::security::v1::IdentityCertificate::certificateNameToPublicKeyName(), doesCertificateExist(), ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get all the identities from public info.
[out] | nameList | On return, the identity list |
isDefault | If specified, only the default identity is returned |
Implements ndn::security::SecPublicInfo.
Definition at line 763 of file sec-public-info-sqlite3.cpp.
References ns3::ndn::Name.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get all the key names from public info.
[out] | nameList | On return, the key name list. |
isDefault | If specified, only the default keys are returned |
Implements ndn::security::SecPublicInfo.
Definition at line 783 of file sec-public-info-sqlite3.cpp.
References ndn::Name::append().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get all the key names of a particular identity.
identity | The specified identity name | |
[out] | nameList | On return, the key name list |
isDefault | If specified, only the default key is returned |
Implements ndn::security::SecPublicInfo.
Definition at line 807 of file sec-public-info-sqlite3.cpp.
References ndn::Name::append(), ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get all the certificate name in public info.
[out] | nameList | On return, the certificate name list |
isDefault | If specified, only the default certificates are returned |
Implements ndn::security::SecPublicInfo.
Definition at line 834 of file sec-public-info-sqlite3.cpp.
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Get all the certificate name of a particular key name.
keyName | The specified key name | |
[out] | nameList | On return, the certificate name list |
isDefault | If specified, only the default certificate is returned |
Implements ndn::security::SecPublicInfo.
Definition at line 855 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Delete a certificate.
certificateName | The certificate name |
Implements ndn::security::SecPublicInfo.
Definition at line 888 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Delete a public key and related certificates.
keyName | The key name |
Implements ndn::security::SecPublicInfo.
Definition at line 901 of file sec-public-info-sqlite3.cpp.
References ndn::Name::empty(), ndn::Name::get(), ndn::Name::getPrefix(), ndn::security::sqlite3_bind_string(), ndn::name::Component::toUri(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
virtual |
Delete an identity and related public keys and certificates.
identity | The identity name |
Implements ndn::security::SecPublicInfo.
Definition at line 928 of file sec-public-info-sqlite3.cpp.
References SCHEME, ndn::security::sqlite3_bind_string(), and ndn::Name::toUri().
Referenced by ndn::security::SecPublicInfoSqlite3::Error::Error().
|
static |
Definition at line 160 of file sec-public-info-sqlite3.hpp.
Referenced by deleteIdentityInfo().