24 #include <boost/iostreams/device/array.hpp> 25 #include <boost/iostreams/stream.hpp> 31 "Bv0CqQclCAVkdW1teQgDS0VZCAgtnChyuKo7YAgCTkEICf0AAAFe3zzGfBQJGAEC" 32 "GQQANu6AFf0BJjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOJSa1j6" 33 "JAzobrmtlUdJi38EWQZOigLykf9psImvIu7pa29Q3apBXENcV1E9687FmfY85Ec3" 34 "/onMtN7WG/wiuKiu/9eOr5WslD3VGDgxhesx80ygP0GNsN8FzsMl0lRKduXx3wG4" 35 "MCT8CX7uA4n4JbHY+0QaKUEEMRCiXcRAtF+yKfr+GaVeSemg+i/LR+6CSgpOyH0K" 36 "ogH9nlNhBn1Hxyc8X+B/nEu6P6NNEKkSnhT1jAbWtT1eL3BPGK/HNY19w9k2Ln6/" 37 "OYlhaHfB4m0oR/ePcUguQBwTgYS+40YQYUPivBsSQv3X2/7+gGLhIzA4YppwOooK" 38 "RGhbmL8zF2evmJ8CAwEAARZHGwEBHBgHFggFZHVtbXkIA0tFWQgILZwocriqO2D9" 39 "AP0m/QD+DzIwMTcxMDAyVDIyMzczNv0A/w8yMDE4MTAwMlQyMjM3MzUX/QEAMBUV" 40 "O51BEQwxp646i7IuHkuc1C/LISnOP2+wBFF2Ea1ht9MKjKkyJdmB1/GAOiR3njKd" 41 "UgRjBlownL11EwYDxkPY39RR05TmhF6PkpP81Ro/Vzv7rtSi/dxFIZXCiyuKPRUx" 42 "E0pZelPWVs3zMfqQ+8rWG89Kqs1vM0dglLBzlX9Lbim71TyLmaJaMmmBKv8+eQ22" 43 "CN71sRZOovl1kKcTHpOm61nD3C1n9GRflFtaMAXE/XU4zMJVzBv6XwQl6PCIc9H2" 44 "vjLa28ruVjhMGxqCGhziTC2eR56SUixrnEcbOKT0R+8+0AFnZIjdYglOZPcVwTVB" 45 "G6OxECJOuSoREcd1Ww==;";
48 {0x17, 0xfd, 0x01, 0x00, 0x93, 0x15, 0x09, 0x49, 0x79, 0x9e, 0xb7, 0x9c, 0xd3, 0xc1, 0xbf, 0x61,
49 0x89, 0xd5, 0xd9, 0xca, 0xf2, 0xb0, 0x14, 0xae, 0x72, 0x7c, 0x1f, 0x8f, 0xf5, 0xb1, 0x70, 0xd6,
50 0x9b, 0x8f, 0xf8, 0xd7, 0x2d, 0xbc, 0x92, 0x6f, 0x7d, 0x77, 0x96, 0x46, 0xea, 0xd4, 0x7d, 0x90,
51 0xbc, 0x7a, 0xeb, 0xe2, 0x03, 0x93, 0xb1, 0xd2, 0x62, 0xec, 0x9d, 0xff, 0x9c, 0x9c, 0x2a, 0x14,
52 0x7d, 0x23, 0xca, 0x29, 0x3d, 0x15, 0x1a, 0x40, 0x42, 0x2c, 0x59, 0x33, 0x8a, 0xf7, 0xc0, 0x6b,
53 0xc4, 0x9c, 0xf3, 0xc4, 0x99, 0xa4, 0x1a, 0x60, 0xf5, 0x28, 0x7d, 0x4c, 0xef, 0x43, 0x7d, 0xbd,
54 0x7d, 0x00, 0x51, 0xee, 0x41, 0xf5, 0x25, 0x80, 0xce, 0xe6, 0x64, 0x4f, 0x75, 0x54, 0xf3, 0xb2,
55 0x99, 0x9a, 0x0f, 0x93, 0x9a, 0x28, 0x1d, 0xfe, 0x12, 0x8a, 0xe0, 0xc1, 0x02, 0xeb, 0xa4, 0x35,
56 0x52, 0x88, 0xac, 0x44, 0x1a, 0x44, 0x82, 0x97, 0x4f, 0x5f, 0xa8, 0xd8, 0x9f, 0x67, 0x38, 0xa8,
57 0x64, 0xb6, 0x62, 0x99, 0xbd, 0x96, 0x3c, 0xf5, 0x86, 0x09, 0x5c, 0x97, 0x6b, 0x8f, 0xae, 0xe0,
58 0x60, 0xe7, 0x23, 0x98, 0x6a, 0xee, 0xc1, 0xb0, 0x14, 0xbe, 0x46, 0x2c, 0xfb, 0xa7, 0x27, 0x73,
59 0xe4, 0xf3, 0x26, 0x33, 0xba, 0x99, 0xd4, 0x01, 0x38, 0xa8, 0xf2, 0x9e, 0x87, 0xe0, 0x71, 0x0b,
60 0x25, 0x44, 0x07, 0x35, 0x88, 0xab, 0x67, 0x27, 0x56, 0x0e, 0xb5, 0xb5, 0xe8, 0x27, 0xb4, 0x49,
61 0xdc, 0xb8, 0x48, 0x31, 0xff, 0x99, 0x48, 0xab, 0x11, 0xb4, 0xa0, 0xdf, 0x8a, 0x6d, 0xff, 0x43,
62 0x69, 0x32, 0xa7, 0xbc, 0x63, 0x9d, 0x0f, 0xe0, 0x95, 0x34, 0x36, 0x25, 0x4b, 0x3e, 0x36, 0xbd,
63 0x81, 0x91, 0x0b, 0x91, 0x9f, 0x3a, 0x04, 0xa2, 0x44, 0x28, 0x19, 0xa1, 0x38, 0x21, 0x4f, 0x25,
64 0x59, 0x8a, 0x48, 0xc2};
79 m_tpmLocator = tpmLocator;
112 std::set<Name> identities;
113 identities.insert(
"/dummy");
136 const uint8_t* key,
size_t keyLen)
148 typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
151 auto cert = io::load<v2::Certificate>(is,
io::BASE64);
152 return cert->getPublicKey();
159 keys.insert(
"/dummy/KEY/-%9C%28r%B8%AA%3B%60");
171 return "/dummy/KEY/-%9C%28r%B8%AA%3B%60";
193 static shared_ptr<v2::Certificate> cert =
nullptr;
194 if (cert ==
nullptr) {
195 typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
198 cert = io::load<v2::Certificate>(is,
io::BASE64);
207 std::set<Name> certs;
208 certs.insert(
"/dummy/KEY/-%9C%28r%B8%AA%3B%60/self/%FD%00%00%01%5E%DF%3Bv%01");
220 static shared_ptr<v2::Certificate> cert =
nullptr;
221 if (cert ==
nullptr) {
222 typedef boost::iostreams::stream<boost::iostreams::array_source> arrayStream;
225 cert = io::load<v2::Certificate>(is,
io::BASE64);
249 DummyKeyHandle::doSign(
DigestAlgorithm digestAlgorithm,
const uint8_t* buf,
size_t size)
const 255 DummyKeyHandle::doDecrypt(
const uint8_t* cipherText,
size_t cipherTextLen)
const 257 throw Error(
"Not supported");
261 DummyKeyHandle::doDerivePublicKey()
const 263 throw Error(
"Not supported");
295 DummyTpm::doHasKey(
const Name& keyName)
const 300 unique_ptr<tpm::KeyHandle>
301 DummyTpm::doGetKeyHandle(
const Name& keyName)
const 303 unique_ptr<tpm::KeyHandle> m_dummyKeyHandle = make_unique<tpm::DummyKeyHandle>(
nullptr);
304 return m_dummyKeyHandle;
307 unique_ptr<tpm::KeyHandle>
308 DummyTpm::doCreateKey(
const Name& identity,
const KeyParams& params)
310 unique_ptr<tpm::KeyHandle> m_dummyKeyHandle = make_unique<tpm::DummyKeyHandle>(
nullptr);
311 return m_dummyKeyHandle;
315 DummyTpm::doDeleteKey(
const Name& keyName)
317 throw Error(
"Not supported");
321 DummyTpm::doExportKey(
const Name& keyName,
const char* pw,
size_t pwLen)
323 throw Error(
"Not supported");
327 DummyTpm::doImportKey(
const Name& keyName,
const uint8_t* pkcs8,
size_t pkcs8Len,
const char* pw,
size_t pwLen)
329 throw Error(
"Not supported");
static const std::string SCHEME
bool hasKey(const Name &keyName) const override
Check the existence of a key with keyName.
Copyright (c) 2011-2015 Regents of the University of California.
The certificate following the certificate format naming convention.
void setTpmLocator(const std::string &tpmLocator) override
Set the corresponding TPM information to tpmLocator.
void removeKey(const Name &keyName) override
Remove a key with keyName and related certificates.
bool isTerminalMode() const override
Check if the TPM is in terminal mode.
void addKey(const Name &identity, const Name &keyName, const uint8_t *key, size_t keyLen) override
Add a key.
std::set< Name > getIdentities() const override
Get the name of all the identities.
Buffer getKeyBits(const Name &keyName) const override
Get the key bits of a key with name keyName.
Name getDefaultKeyOfIdentity(const Name &identity) const override
std::set< Name > getCertificatesOfKey(const Name &keyName) const override
Get a list of certificate names of a key with id keyName.
void setDefaultKeyOfIdentity(const Name &identity, const Name &keyName) override
Set an key with keyName as the default key of an identity with name identity.
bool isTpmLocked() const override
Check if the TPM is locked.
DummyPib(const std::string &locator)
void clearIdentities() override
Erasing all certificates, keys, and identities.
static std::string getScheme()
static const uint8_t DUMMY_CERT[]
void removeCertificate(const Name &certName) override
Remove a certificate with name certName.
void addCertificate(const v2::Certificate &certificate) override
Add a certificate.
std::set< Name > getKeysOfIdentity(const Name &identity) const override
Get all the key names of an identity with name identity.
v2::Certificate getCertificate(const Name &certificateName) const override
Get a certificate with name certName.
static const std::string SCHEME
bool hasCertificate(const Name &certName) const override
Check the existence of a certificate with name certName.
static std::string getScheme()
bool hasIdentity(const Name &identityName) const override
Check the existence of an identity.
void addIdentity(const Name &identityName) override
Add an identity.
Represents an absolute name.
void setTerminalMode(bool isTerminal) const override
Set the terminal mode of the TPM.
Name getDefaultIdentity() const override
Get the default identity.
void setDefaultCertificateOfKey(const Name &keyName, const Name &certName) override
Set a cert with name certName as the default of a key with keyName.
static const uint8_t DUMMY_SIGNATURE[]
std::string getTpmLocator() const override
Get TPM Locator.
NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND(DummyTpm)
DummyTpm(const std::string &locator)
NDN_CXX_V2_KEYCHAIN_REGISTER_PIB_BACKEND(DummyPib)
void setDefaultIdentity(const Name &identityName) override
Set an identity with name identityName as the default identity.
DummyKeyHandle(shared_ptr< transform::PrivateKey > key)
General-purpose automatically managed/resized buffer.
void removeIdentity(const Name &identity) override
Remove an identity and related keys and certificates.
v2::Certificate getDefaultCertificateOfKey(const Name &keyName) const override
shared_ptr< const Buffer > ConstBufferPtr