当前位置: 首页>>代码示例>>C++>>正文


C++ shared_ptr::hasContentKey方法代码示例

本文整理汇总了C++中ptr_lib::shared_ptr::hasContentKey方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::hasContentKey方法的具体用法?C++ shared_ptr::hasContentKey怎么用?C++ shared_ptr::hasContentKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ptr_lib::shared_ptr的用法示例。


在下文中一共展示了shared_ptr::hasContentKey方法的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());
  }
开发者ID:,项目名称:,代码行数:36,代码来源:


注:本文中的ptr_lib::shared_ptr::hasContentKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。