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


C++ SignatureLite类代码示例

本文整理汇总了C++中SignatureLite的典型用法代码示例。如果您正苦于以下问题:C++ SignatureLite类的具体用法?C++ SignatureLite怎么用?C++ SignatureLite使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了SignatureLite类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: toSignatureLite

// Check what signature is an instance of and imitate 
//   Sha256WithRsaSignature::set(const SignatureLite& signatureLite), etc.
static void
toSignatureLite(PyObject* signature, SignatureLite& signatureLite)
{
  if (isInstance(signature, "pyndn", str.Sha256WithRsaSignature)) {
    toSignatureLiteWithKeyLocator
      (signature, ndn_SignatureType_Sha256WithRsaSignature, signatureLite);
    PyObjectRef validityPeriod
      (PyObject_CallMethodObjArgs(signature, str.getValidityPeriod, NULL));
    toValidityPeriodLite(validityPeriod, signatureLite.getValidityPeriod());
  }
  else if (isInstance(signature, "pyndn", str.Sha256WithEcdsaSignature)) {
    toSignatureLiteWithKeyLocator
      (signature, ndn_SignatureType_Sha256WithEcdsaSignature, signatureLite);
    PyObjectRef validityPeriod
      (PyObject_CallMethodObjArgs(signature, str.getValidityPeriod, NULL));
    toValidityPeriodLite(validityPeriod, signatureLite.getValidityPeriod());
  }
  else if (isInstance(signature, "pyndn", str.HmacWithSha256Signature))
    toSignatureLiteWithKeyLocator
      (signature, ndn_SignatureType_HmacWithSha256Signature, signatureLite);
  else if (isInstance(signature, "pyndn", str.DigestSha256Signature))
    toSignatureLiteWithSignatureOnly
      (signature, ndn_SignatureType_DigestSha256Signature, signatureLite);
  else if (isInstance(signature, "pyndn", str.GenericSignature))
    toGenericSignatureLite(signature, signatureLite);
  else
    // TODO: Handle the error "Unrecognized signature type".
    return;
}
开发者ID:,项目名称:,代码行数:31,代码来源:

示例2:

void
Sha256WithEcdsaSignature::get(SignatureLite& signatureLite) const
{
    signatureLite.setType(ndn_SignatureType_Sha256WithEcdsaSignature);
    signatureLite.setSignature(signature_);
    keyLocator_.get().get(signatureLite.getKeyLocator());
    validityPeriod_.get().get(signatureLite.getValidityPeriod());
}
开发者ID:,项目名称:,代码行数:8,代码来源:

示例3: runtime_error

void
DigestSha256Signature::set(const SignatureLite& signatureLite)
{
  // The caller should already have checked the type, but check again.
  if (signatureLite.getType() != ndn_SignatureType_DigestSha256Signature)
    throw runtime_error("signatureLite is not the expected type DigestSha256Signature");

  setSignature(Blob(signatureLite.getSignature()));
}
开发者ID:,项目名称:,代码行数:9,代码来源:

示例4: toGenericSignatureLite

// Imitate GenericSignature::get(SignatureLite& signatureLite).
static void
toGenericSignatureLite(PyObject* signature, SignatureLite& signatureLite)
{
  signatureLite.clear();

  signatureLite.setType(ndn_SignatureType_Generic);
  signatureLite.setSignature(toBlobLiteByMethod(signature, str.getSignature));
  signatureLite.setSignatureInfoEncoding
    (toBlobLiteByMethod(signature, str.getSignatureInfoEncoding),
     (int)toLongByMethod(signature, str.getTypeCode));
}
开发者ID:,项目名称:,代码行数:12,代码来源:

示例5: setSignatureWithKeyLocator

// Imitate Sha256WithRsaSignature::set(const SignatureLite& signatureLite),
//         Sha256WithEcdsaSignature::set(const SignatureLite& signatureLite),
//         HmacWithSha256Signature::set(const SignatureLite& signatureLite).
static void
setSignatureWithKeyLocator(PyObject* signature, const SignatureLite& signatureLite)
{
  PyObjectRef signatureBlob(makeBlob(signatureLite.getSignature()));
  PyObjectRef ignoreResult(PyObject_CallMethodObjArgs
    (signature, str.setSignature, signatureBlob.obj, NULL));

  PyObjectRef keyLocator(PyObject_CallMethodObjArgs
    (signature, str.getKeyLocator, NULL));
  setKeyLocator(keyLocator, signatureLite.getKeyLocator());
}
开发者ID:,项目名称:,代码行数:14,代码来源:

示例6: toKeyLocatorLite

// Imitate Sha256WithRsaSignature::get(SignatureLite& signatureLite),
//         Sha256WithEcdsaSignature::get(SignatureLite& signatureLite),
//         HmacWithSha256Signature::get(SignatureLite& signatureLite).
static void
toSignatureLiteWithKeyLocator
  (PyObject* signature, ndn_SignatureType type, SignatureLite& signatureLite)
{
  signatureLite.clear();

  signatureLite.setType(type);
  signatureLite.setSignature(toBlobLiteByMethod(signature, str.getSignature));

  PyObjectRef keyLocator
    (PyObject_CallMethodObjArgs(signature, str.getKeyLocator, NULL));
  toKeyLocatorLite(keyLocator, signatureLite.getKeyLocator());
}
开发者ID:,项目名称:,代码行数:16,代码来源:

示例7: setGenericSignature

// Imitate GenericSignature::set(const SignatureLite& signatureLite).
static void
setGenericSignature(PyObject* signature, const SignatureLite& signatureLite)
{
  PyObjectRef signatureBlob(makeBlob(signatureLite.getSignature()));
  PyObjectRef ignoreResult1(PyObject_CallMethodObjArgs
    (signature, str.setSignature, signatureBlob.obj, NULL));

  PyObjectRef signatureInfoEncoding
    (makeBlob(signatureLite.getSignatureInfoEncoding()));
  PyObjectRef typeCode(PyLong_FromLong(signatureLite.getGenericTypeCode()));
  PyObjectRef ignoreResult2(PyObject_CallMethodObjArgs
    (signature, str.setSignatureInfoEncoding, signatureInfoEncoding.obj,
     typeCode.obj, NULL));
}
开发者ID:,项目名称:,代码行数:15,代码来源:

示例8: setSignatureWithSignatureOnly

// Imitate DigestSha256Signature::set(const SignatureLite& signatureLite).
static void
setSignatureWithSignatureOnly(PyObject* signature, const SignatureLite& signatureLite)
{
  PyObjectRef signatureBlob(makeBlob(signatureLite.getSignature()));
  PyObjectRef ignoreResult(PyObject_CallMethodObjArgs
    (signature, str.setSignature, signatureBlob.obj, NULL));
}
开发者ID:,项目名称:,代码行数:8,代码来源:

示例9: setSignature

// Check signatureLite.getType() and imitate 
//   Sha256WithRsaSignature::set(const SignatureLite& signatureLite), etc.
static void
setSignature(PyObject* signature, const SignatureLite& signatureLite)
{
  if (signatureLite.getType() == ndn_SignatureType_Sha256WithRsaSignature ||
      signatureLite.getType() == ndn_SignatureType_Sha256WithEcdsaSignature) {
    setSignatureWithKeyLocator(signature, signatureLite);
    PyObjectRef validityPeriod(PyObject_CallMethodObjArgs
      (signature, str.getValidityPeriod, NULL));
    setValidityPeriod(validityPeriod, signatureLite.getValidityPeriod());
  }
  else if (signatureLite.getType() == ndn_SignatureType_HmacWithSha256Signature)
    setSignatureWithKeyLocator(signature, signatureLite);
  else if (signatureLite.getType() == ndn_SignatureType_DigestSha256Signature)
    setSignatureWithSignatureOnly(signature, signatureLite);
  else if (signatureLite.getType() == ndn_SignatureType_Generic)
    setGenericSignature(signature, signatureLite);
  else
    // We don't expect this to happen if the caller used getSignatureClassName.
    return;
}
开发者ID:,项目名称:,代码行数:22,代码来源:


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