本文整理汇总了C++中ptr_lib::shared_ptr::getContentKey方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::getContentKey方法的具体用法?C++ shared_ptr::getContentKey怎么用?C++ shared_ptr::getContentKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ptr_lib::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::getContentKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: params
void
checkEncryptionKeys
(const vector<ptr_lib::shared_ptr<Data> >& result,
MillisecondsSince1970 testTime, const Name::Component roundedTime,
int expectedExpressInterestCallCount, const int* expressInterestCallCount,
Blob* contentKey, Name cKeyName, ptr_lib::shared_ptr<ProducerDb> testDb)
{
ASSERT_EQ(expectedExpressInterestCallCount, *expressInterestCallCount);
ASSERT_EQ(true, testDb->hasContentKey(testTime));
(*contentKey) = testDb->getContentKey(testTime);
EncryptParams params(ndn_EncryptAlgorithmType_RsaOaep);
for (size_t i = 0; i < result.size(); ++i) {
const Data& key = *result[i];
const Name& keyName = key.getName();
ASSERT_EQ(cKeyName, keyName.getSubName(0, 6));
ASSERT_EQ(keyName.get(6), roundedTime);
ASSERT_EQ(keyName.get(7), Encryptor::getNAME_COMPONENT_FOR());
ASSERT_EQ(true, decryptionKeys.find(keyName.getSubName(8)) != decryptionKeys.end());
Blob decryptionKey = decryptionKeys[keyName.getSubName(8)];
ASSERT_EQ(true, decryptionKey.size() != 0);
const Blob& encryptedKeyEncoding = key.getContent();
EncryptedContent content;
content.wireDecode(encryptedKeyEncoding);
Blob encryptedKey = content.getPayload();
Blob retrievedKey = RsaAlgorithm::decrypt
(decryptionKey, encryptedKey, params);
ASSERT_TRUE(contentKey->equals(retrievedKey));
}
ASSERT_EQ(3, result.size());
}