本文整理汇总了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;
}
示例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());
}
示例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()));
}
示例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));
}
示例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());
}
示例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());
}
示例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));
}
示例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));
}
示例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;
}