您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xmlSecTransformCheckSize函数代码示例

51自学网 2021-06-03 11:46:38
  C++
这篇教程C++ xmlSecTransformCheckSize函数代码示例写得很实用,希望能帮到您。

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

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

示例1: xmlSecOpenSSLEvpDigestFinalize

static void xmlSecOpenSSLEvpDigestFinalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLDigestCtxPtr ctx;    xmlSecAssert(xmlSecOpenSSLEvpDigestCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLEvpDigestSize));    ctx = xmlSecOpenSSLEvpDigestGetCtx(transform);    xmlSecAssert(ctx != NULL);    #ifndef XMLSEC_OPENSSL_096    EVP_MD_CTX_cleanup(&(ctx->digestCtx));#endif /* XMLSEC_OPENSSL_096 */    memset(ctx, 0, sizeof(xmlSecOpenSSLDigestCtx));}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:15,


示例2: xmlSecGCryptDigestFinalize

static voidxmlSecGCryptDigestFinalize(xmlSecTransformPtr transform) {    xmlSecGCryptDigestCtxPtr ctx;    xmlSecAssert(xmlSecGCryptDigestCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecGCryptDigestSize));    ctx = xmlSecGCryptDigestGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->digestCtx != NULL) {        gcry_md_close(ctx->digestCtx);    }    memset(ctx, 0, sizeof(xmlSecGCryptDigestCtx));}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:15,


示例3: xmlSecOpenSSLRsaPkcs1Finalize

static voidxmlSecOpenSSLRsaPkcs1Finalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLRsaPkcs1CtxPtr ctx;    xmlSecAssert(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformRsaPkcs1Id));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLRsaPkcs1Size));    ctx = xmlSecOpenSSLRsaPkcs1GetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->pKey != NULL) {        EVP_PKEY_free(ctx->pKey);    }    memset(ctx, 0, sizeof(xmlSecOpenSSLRsaPkcs1Ctx));}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:15,


示例4: xmlSecOpenSSLHmacFinalize

static void xmlSecOpenSSLHmacFinalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLHmacCtxPtr ctx;    xmlSecAssert(xmlSecOpenSSLHmacCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize));    ctx = xmlSecOpenSSLHmacGetCtx(transform);    xmlSecAssert(ctx != NULL);    #ifndef XMLSEC_OPENSSL_096    HMAC_CTX_cleanup(&(ctx->hmacCtx));#endif /* XMLSEC_OPENSSL_096 */    memset(ctx, 0, sizeof(xmlSecOpenSSLHmacCtx));}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:15,


示例5: xmlSecOpenSSLHmacFinalize

static voidxmlSecOpenSSLHmacFinalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLHmacCtxPtr ctx;    xmlSecAssert(xmlSecOpenSSLHmacCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize));    ctx = xmlSecOpenSSLHmacGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->hmacCtx != NULL) {        HMAC_CTX_free(ctx->hmacCtx);    }    memset(ctx, 0, sizeof(xmlSecOpenSSLHmacCtx));}
开发者ID:esproul,项目名称:xmlsec,代码行数:16,


示例6: xmlSecRelationshipFinalize

static voidxmlSecRelationshipFinalize(xmlSecTransformPtr transform) {    xmlSecRelationshipCtxPtr ctx;    xmlSecAssert(xmlSecTransformCheckId(transform, xmlSecTransformRelationshipId));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecRelationshipSize));    ctx = xmlSecRelationshipGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->sourceIdList != NULL) {       xmlSecPtrListDestroy(ctx->sourceIdList);    }    memset(ctx, 0, sizeof(xmlSecRelationshipCtx));}
开发者ID:ONLYOFFICE,项目名称:core,代码行数:16,


示例7: xmlSecOpenSSLRsaOaepFinalize

static voidxmlSecOpenSSLRsaOaepFinalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLRsaOaepCtxPtr ctx;    xmlSecAssert(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformRsaOaepId));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLRsaOaepSize));    ctx = xmlSecOpenSSLRsaOaepGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->pKey != NULL) {        EVP_PKEY_free(ctx->pKey);    }    xmlSecBufferFinalize(&(ctx->oaepParams));    memset(ctx, 0, sizeof(xmlSecOpenSSLRsaOaepCtx));}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:16,


示例8: xmlSecMSCryptoHmacSetKeyReq

static intxmlSecMSCryptoHmacSetKeyReq(xmlSecTransformPtr transform,  xmlSecKeyReqPtr keyReq) {    xmlSecAssert2(xmlSecMSCryptoHmacCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCryptoHmacSize), -1);    xmlSecAssert2(keyReq != NULL, -1);    keyReq->keyId   = xmlSecMSCryptoKeyDataHmacId;    keyReq->keyType = xmlSecKeyDataTypeSymmetric;    if(transform->operation == xmlSecTransformOperationSign) {        keyReq->keyUsage = xmlSecKeyUsageSign;    } else {        keyReq->keyUsage = xmlSecKeyUsageVerify;    }    return(0);}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:17,


示例9: xmlSecRelationshipReadNode

static intxmlSecRelationshipReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTransformCtxPtr transformCtx) {    xmlSecRelationshipCtxPtr ctx;    xmlNodePtr cur;    int ret;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecTransformRelationshipId), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecRelationshipSize), -1);    xmlSecAssert2(node != NULL, -1);    xmlSecAssert2(transformCtx != NULL, -1);    ctx = xmlSecRelationshipGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    cur = node->children;    while(cur != NULL) {        if(xmlSecCheckNodeName(cur, xmlSecNodeRelationshipReference, xmlSecRelationshipReferenceNs)) {            xmlChar* sourceId;            sourceId = xmlGetProp(cur, xmlSecRelationshipAttrSourceId);            if(sourceId == NULL) {                xmlSecError(XMLSEC_ERRORS_HERE,                            "xmlGetProp",                            xmlSecErrorsSafeString(xmlSecRelationshipAttrSourceId),                            XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,                            "node=%s",                            xmlSecErrorsSafeString(xmlSecNodeGetName(node)));                return(-1);            }            ret = xmlSecPtrListAdd(ctx->sourceIdList, sourceId);            if(ret < 0) {                xmlSecError(XMLSEC_ERRORS_HERE,                            xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                            "xmlSecPtrListAdd",                            XMLSEC_ERRORS_R_XMLSEC_FAILED,                            XMLSEC_ERRORS_NO_MESSAGE);                xmlFree(sourceId);                return(-1);            }        }        cur = cur->next;    }    return(0);}
开发者ID:ONLYOFFICE,项目名称:core,代码行数:46,


示例10: xmlSecMSCryptoRsaPkcs1Finalize

static void xmlSecMSCryptoRsaPkcs1Finalize(xmlSecTransformPtr transform) {    xmlSecMSCryptoRsaPkcs1CtxPtr ctx;    xmlSecAssert(xmlSecTransformCheckId(transform, xmlSecMSCryptoTransformRsaPkcs1Id));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecMSCryptoRsaPkcs1Size));    ctx = xmlSecMSCryptoRsaPkcs1GetCtx(transform);    xmlSecAssert(ctx != NULL);        if (ctx->data != NULL)  {	xmlSecKeyDataDestroy(ctx->data);	ctx->data = NULL;    }    memset(ctx, 0, sizeof(xmlSecMSCryptoRsaPkcs1Ctx));}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:17,


示例11: xmlSecOpenSSLEvpSignatureSetKey

static intxmlSecOpenSSLEvpSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecOpenSSLEvpSignatureCtxPtr ctx;    xmlSecKeyDataPtr value;    EVP_PKEY* pKey;    xmlSecAssert2(xmlSecOpenSSLEvpSignatureCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLEvpSignatureSize), -1);    xmlSecAssert2(key != NULL, -1);    ctx = xmlSecOpenSSLEvpSignatureGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->digest != NULL, -1);    xmlSecAssert2(ctx->keyId != NULL, -1);    xmlSecAssert2(xmlSecKeyCheckId(key, ctx->keyId), -1);    value = xmlSecKeyGetValue(key);    xmlSecAssert2(value != NULL, -1);    pKey = xmlSecOpenSSLEvpKeyDataGetEvp(value);    if(pKey == NULL) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecOpenSSLEvpKeyDataGetEvp",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    if(ctx->pKey != NULL) {        EVP_PKEY_free(ctx->pKey);    }    ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);    if(ctx->pKey == NULL) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecOpenSSLEvpKeyDup",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    return(0);}
开发者ID:paracycle,项目名称:xmlsec-shim,代码行数:46,


示例12: xmlSecOpenSSLHmacSetKey

static intxmlSecOpenSSLHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecOpenSSLHmacCtxPtr ctx;    xmlSecKeyDataPtr value;    xmlSecBufferPtr buffer;    int ret;    xmlSecAssert2(xmlSecOpenSSLHmacCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize), -1);    xmlSecAssert2(key != NULL, -1);    ctx = xmlSecOpenSSLHmacGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->hmacCtx != NULL, -1);    xmlSecAssert2(ctx->hmacDgst != NULL, -1);    xmlSecAssert2(ctx->ctxInitialized == 0, -1);    value = xmlSecKeyGetValue(key);    xmlSecAssert2(xmlSecKeyDataCheckId(value, xmlSecOpenSSLKeyDataHmacId), -1);    buffer = xmlSecKeyDataBinaryValueGetBuffer(value);    xmlSecAssert2(buffer != NULL, -1);    if(xmlSecBufferGetSize(buffer) == 0) {        xmlSecInvalidZeroKeyDataSizeError(xmlSecTransformGetName(transform));        return(-1);    }    xmlSecAssert2(xmlSecBufferGetData(buffer) != NULL, -1);    ret = HMAC_Init_ex(ctx->hmacCtx,                xmlSecBufferGetData(buffer),                xmlSecBufferGetSize(buffer),                ctx->hmacDgst,                NULL);    if(ret != 1) {        xmlSecOpenSSLError("HMAC_Init_ex",                           xmlSecTransformGetName(transform));        return(-1);    }    ctx->ctxInitialized = 1;    return(0);}
开发者ID:esproul,项目名称:xmlsec,代码行数:45,


示例13: xmlSecGCryptKWAesInitialize

static intxmlSecGCryptKWAesInitialize(xmlSecTransformPtr transform) {    xmlSecGCryptKWAesCtxPtr ctx;    int ret;    xmlSecAssert2(xmlSecGCryptKWAesCheckId(transform), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecGCryptKWAesSize), -1);    ctx = xmlSecGCryptKWAesGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    if(xmlSecTransformCheckId(transform, xmlSecGCryptTransformKWAes128Id)) {        ctx->cipher             = GCRY_CIPHER_AES128;        ctx->keyExpectedSize    = XMLSEC_KW_AES128_KEY_SIZE;    } else if(xmlSecTransformCheckId(transform, xmlSecGCryptTransformKWAes192Id)) {        ctx->cipher             = GCRY_CIPHER_AES192;        ctx->keyExpectedSize    = XMLSEC_KW_AES192_KEY_SIZE;    } else if(xmlSecTransformCheckId(transform, xmlSecGCryptTransformKWAes256Id)) {        ctx->cipher             = GCRY_CIPHER_AES256;        ctx->keyExpectedSize    = XMLSEC_KW_AES256_KEY_SIZE;    } else {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_TRANSFORM,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    ctx->mode           = GCRY_CIPHER_MODE_CBC;    ctx->flags          = GCRY_CIPHER_SECURE; /* we are paranoid */    ctx->blockSize      = gcry_cipher_get_algo_blklen(ctx->cipher);    xmlSecAssert2(ctx->blockSize > 0, -1);    ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);    if(ret < 0) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecGCryptKWAesGetKey",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    return(0);}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:45,


示例14: xmlSecGCryptKWAesSetKey

static intxmlSecGCryptKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecGCryptKWAesCtxPtr ctx;    xmlSecBufferPtr buffer;    xmlSecSize keySize;    int ret;    xmlSecAssert2(xmlSecGCryptKWAesCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecGCryptKWAesSize), -1);    xmlSecAssert2(key != NULL, -1);    xmlSecAssert2(xmlSecKeyDataCheckId(xmlSecKeyGetValue(key), xmlSecGCryptKeyDataAesId), -1);    ctx = xmlSecGCryptKWAesGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    buffer = xmlSecKeyDataBinaryValueGetBuffer(xmlSecKeyGetValue(key));    xmlSecAssert2(buffer != NULL, -1);    keySize = xmlSecBufferGetSize(buffer);    if(keySize < ctx->keyExpectedSize) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,                    "key=%d;expected=%d",                    keySize, ctx->keyExpectedSize);        return(-1);    }    ret = xmlSecBufferSetData(&(ctx->keyBuffer),                            xmlSecBufferGetData(buffer),                            ctx->keyExpectedSize);    if(ret < 0) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecBufferSetData",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    "expected-size=%d",                     ctx->keyExpectedSize);        return(-1);    }    return(0);}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:45,


示例15: xmlSecMSCryptoDigestFinalize

static void xmlSecMSCryptoDigestFinalize(xmlSecTransformPtr transform) {    xmlSecMSCryptoDigestCtxPtr ctx;    xmlSecAssert(xmlSecMSCryptoDigestCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecMSCryptoDigestSize));    ctx = xmlSecMSCryptoDigestGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->mscHash != 0) {        CryptDestroyHash(ctx->mscHash);    }    if(ctx->provider != 0) {        CryptReleaseContext(ctx->provider, 0);    }    memset(ctx, 0, sizeof(xmlSecMSCryptoDigestCtx));}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:18,


示例16: xmlSecNssKWAesSetKeyReq

static int  xmlSecNssKWAesSetKeyReq(xmlSecTransformPtr transform,  xmlSecKeyReqPtr keyReq) {    xmlSecAssert2(xmlSecNssKWAesCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKWAesSize), -1);    xmlSecAssert2(keyReq != NULL, -1);    keyReq->keyId 	 = xmlSecNssKeyDataAesId;    keyReq->keyType  = xmlSecKeyDataTypeSymmetric;    if(transform->operation == xmlSecTransformOperationEncrypt) {	keyReq->keyUsage = xmlSecKeyUsageEncrypt;    } else {	keyReq->keyUsage = xmlSecKeyUsageDecrypt;    }    keyReq->keyBitsSize = 8 * xmlSecNssKWAesGetKeySize(transform);        return(0);}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:18,


示例17: xmlSecOpenSSLRsaOaepExecute

static intxmlSecOpenSSLRsaOaepExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPtr transformCtx) {    xmlSecOpenSSLRsaOaepCtxPtr ctx;    int ret;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformRsaOaepId), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLRsaOaepSize), -1);    xmlSecAssert2(transformCtx != NULL, -1);    ctx = xmlSecOpenSSLRsaOaepGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->pKey != NULL, -1);    if(transform->status == xmlSecTransformStatusNone) {        transform->status = xmlSecTransformStatusWorking;    }    if((transform->status == xmlSecTransformStatusWorking) && (last == 0)) {        /* just do nothing */    } else  if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {        ret = xmlSecOpenSSLRsaOaepProcess(transform, transformCtx);        if(ret < 0) {            xmlSecError(XMLSEC_ERRORS_HERE,                        xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                        "xmlSecOpenSSLRsaOaepProcess",                        XMLSEC_ERRORS_R_XMLSEC_FAILED,                        XMLSEC_ERRORS_NO_MESSAGE);            return(-1);        }        transform->status = xmlSecTransformStatusFinished;    } else if(transform->status == xmlSecTransformStatusFinished) {        /* the only way we can get here is if there is no input */        xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);    } else {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_STATUS,                    "status=%d", transform->status);        return(-1);    }    return(0);}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:44,


示例18: xmlSecGCryptHmacSetKey

static intxmlSecGCryptHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecGCryptHmacCtxPtr ctx;    xmlSecKeyDataPtr value;    xmlSecBufferPtr buffer;    gcry_error_t err;    xmlSecAssert2(xmlSecGCryptHmacCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecGCryptHmacSize), -1);    xmlSecAssert2(key != NULL, -1);    ctx = xmlSecGCryptHmacGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->digestCtx != NULL, -1);    value = xmlSecKeyGetValue(key);    xmlSecAssert2(xmlSecKeyDataCheckId(value, xmlSecGCryptKeyDataHmacId), -1);    buffer = xmlSecKeyDataBinaryValueGetBuffer(value);    xmlSecAssert2(buffer != NULL, -1);    if(xmlSecBufferGetSize(buffer) == 0) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,                    "key is empty");        return(-1);    }    err = gcry_md_setkey(ctx->digestCtx, xmlSecBufferGetData(buffer),                        xmlSecBufferGetSize(buffer));    if(err != GPG_ERR_NO_ERROR) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "gcry_md_setkey",                    XMLSEC_ERRORS_R_CRYPTO_FAILED,                    XMLSEC_GCRYPT_REPORT_ERROR(err));        return(-1);    }    return(0);}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:43,


示例19: xmlSecNssKWAesInitialize

static int xmlSecNssKWAesInitialize(xmlSecTransformPtr transform) {    int ret;        xmlSecAssert2(xmlSecNssKWAesCheckId(transform), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKWAesSize), -1);        ret = xmlSecBufferInitialize(xmlSecNssKWAesGetKey(transform), 0);    if(ret < 0) {	xmlSecErr_a_ignorar5(XMLSEC_ERRORS_HERE,		    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),		    "xmlSecBufferInitialize",		    XMLSEC_ERRORS_R_XMLSEC_FAILED,		    XMLSEC_ERRORS_NO_MESSAGE);	return(-1);    }            return(0);}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:19,


示例20: xmlSecOpenSSLEvpSignatureFinalize

static voidxmlSecOpenSSLEvpSignatureFinalize(xmlSecTransformPtr transform) {    xmlSecOpenSSLEvpSignatureCtxPtr ctx;    xmlSecAssert(xmlSecOpenSSLEvpSignatureCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecOpenSSLEvpSignatureSize));    ctx = xmlSecOpenSSLEvpSignatureGetCtx(transform);    xmlSecAssert(ctx != NULL);    if(ctx->pKey != NULL) {        EVP_PKEY_free(ctx->pKey);    }#ifndef XMLSEC_OPENSSL_096    EVP_MD_CTX_cleanup(&(ctx->digestCtx));#endif /* XMLSEC_OPENSSL_096 */    memset(ctx, 0, sizeof(xmlSecOpenSSLEvpSignatureCtx));}
开发者ID:paracycle,项目名称:xmlsec-shim,代码行数:19,


示例21: xmlSecMSCryptoKWDes3SetKey

static intxmlSecMSCryptoKWDes3SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecMSCryptoKWDes3CtxPtr ctx;    xmlSecBufferPtr buffer;    xmlSecSize keySize;    int ret;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecMSCryptoTransformKWDes3Id), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCryptoKWDes3Size), -1);    xmlSecAssert2(key != NULL, -1);    xmlSecAssert2(xmlSecKeyDataCheckId(xmlSecKeyGetValue(key), xmlSecMSCryptoKeyDataDesId), -1);    ctx = xmlSecMSCryptoKWDes3GetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    buffer = xmlSecKeyDataBinaryValueGetBuffer(xmlSecKeyGetValue(key));    xmlSecAssert2(buffer != NULL, -1);    keySize = xmlSecBufferGetSize(buffer);    if(keySize < XMLSEC_KW_DES3_KEY_LENGTH) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,                    "key length %d is not enough (%d expected)",                    keySize, XMLSEC_KW_DES3_KEY_LENGTH);        return(-1);    }    ret = xmlSecBufferSetData(&(ctx->keyBuffer), xmlSecBufferGetData(buffer), XMLSEC_KW_DES3_KEY_LENGTH);    if(ret < 0) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecBufferSetData",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);        return(-1);    }    return(0);}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:42,


示例22: xmlSecOpenSSLHmacNodeRead

static intxmlSecOpenSSLHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTransformCtxPtr transformCtx) {    xmlSecOpenSSLHmacCtxPtr ctx;    xmlNodePtr cur;    xmlSecAssert2(xmlSecOpenSSLHmacCheckId(transform), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize), -1);    xmlSecAssert2(node!= NULL, -1);    xmlSecAssert2(transformCtx != NULL, -1);    ctx = xmlSecOpenSSLHmacGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    cur = xmlSecGetNextElementNode(node->children);    if((cur != NULL) && xmlSecCheckNodeName(cur, xmlSecNodeHMACOutputLength, xmlSecDSigNs)) {        xmlChar *content;        content = xmlNodeGetContent(cur);        if(content != NULL) {            ctx->dgstSize = atoi((char*)content);            xmlFree(content);        }        /* Ensure that HMAC length is greater than min specified.           Otherwise, an attacker can set this length to 0 or very           small value        */        if((int)ctx->dgstSize < xmlSecOpenSSLHmacGetMinOutputLength()) {            xmlSecInvalidNodeContentError(cur, xmlSecTransformGetName(transform),                                          "HMAC output length is too small");           return(-1);        }        cur = xmlSecGetNextElementNode(cur->next);    }    if(cur != NULL) {        xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));        return(-1);    }    return(0);}
开发者ID:esproul,项目名称:xmlsec,代码行数:42,


示例23: xmlSecMSCryptoDigestVerify

static intxmlSecMSCryptoDigestVerify(xmlSecTransformPtr transform,                           const xmlSecByte* data,                           xmlSecSize dataSize,                           xmlSecTransformCtxPtr transformCtx) {    xmlSecMSCryptoDigestCtxPtr ctx;    xmlSecAssert2(xmlSecMSCryptoDigestCheckId(transform), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCryptoDigestSize), -1);    xmlSecAssert2(transform->operation == xmlSecTransformOperationVerify, -1);    xmlSecAssert2(transform->status == xmlSecTransformStatusFinished, -1);    xmlSecAssert2(data != NULL, -1);    xmlSecAssert2(transformCtx != NULL, -1);    ctx = xmlSecMSCryptoDigestGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->dgstSize > 0, -1);    if(dataSize != ctx->dgstSize) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_SIZE,                    "data_size=%d;dgst_size=%d",                    dataSize, ctx->dgstSize);        transform->status = xmlSecTransformStatusFail;        return(0);    }    if(memcmp(ctx->dgst, data, ctx->dgstSize) != 0) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    NULL,                    XMLSEC_ERRORS_R_INVALID_DATA,                    "data and digest do not match");        transform->status = xmlSecTransformStatusFail;        return(0);    }    transform->status = xmlSecTransformStatusOk;    return(0);}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:42,


示例24: xmlSecMSCryptoKWAesFinalize

static voidxmlSecMSCryptoKWAesFinalize(xmlSecTransformPtr transform) {    xmlSecMSCryptoKWAesCtxPtr ctx;    xmlSecAssert(xmlSecMSCryptoKWAesCheckId(transform));    xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecMSCryptoKWAesSize));    ctx = xmlSecMSCryptoKWAesGetCtx(transform);    xmlSecAssert(ctx != NULL);    if (ctx->pubPrivKey) {        CryptDestroyKey(ctx->pubPrivKey);    }    if (ctx->cryptProvider) {        CryptReleaseContext(ctx->cryptProvider, 0);    }        xmlSecBufferFinalize(&ctx->keyBuffer);    memset(ctx, 0, sizeof(xmlSecMSCryptoKWAesCtx));}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:21,


示例25: xmlSecOpenSSLRsaOaepInitialize

static intxmlSecOpenSSLRsaOaepInitialize(xmlSecTransformPtr transform) {    xmlSecOpenSSLRsaOaepCtxPtr ctx;    int ret;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformRsaOaepId), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLRsaOaepSize), -1);    ctx = xmlSecOpenSSLRsaOaepGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    memset(ctx, 0, sizeof(xmlSecOpenSSLRsaOaepCtx));    ret = xmlSecBufferInitialize(&(ctx->oaepParams), 0);    if(ret < 0) {        xmlSecInternalError("xmlSecBufferInitialize",                            xmlSecTransformGetName(transform));        return(-1);    }    return(0);}
开发者ID:esproul,项目名称:xmlsec,代码行数:21,


示例26: xmlSecMSCryptoRsaPkcs1SetKeyReq

static int  xmlSecMSCryptoRsaPkcs1SetKeyReq(xmlSecTransformPtr transform,  xmlSecKeyReqPtr keyReq) {    xmlSecMSCryptoRsaPkcs1CtxPtr ctx;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecMSCryptoTransformRsaPkcs1Id), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCryptoRsaPkcs1Size), -1);    xmlSecAssert2(keyReq != NULL, -1);    ctx = xmlSecMSCryptoRsaPkcs1GetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    keyReq->keyId 	 = xmlSecMSCryptoKeyDataRsaId;    if(transform->operation == xmlSecTransformOperationEncrypt) {        keyReq->keyType  = xmlSecKeyDataTypePublic;	keyReq->keyUsage = xmlSecKeyUsageEncrypt;    } else {        keyReq->keyType  = xmlSecKeyDataTypePrivate;	keyReq->keyUsage = xmlSecKeyUsageDecrypt;    }        return(0);}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:22,


示例27: xmlSecOpenSSLHmacSetKey

static intxmlSecOpenSSLHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecOpenSSLHmacCtxPtr ctx;    xmlSecKeyDataPtr value;    xmlSecBufferPtr buffer;    xmlSecAssert2(xmlSecOpenSSLHmacCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize), -1);    xmlSecAssert2(key != NULL, -1);    ctx = xmlSecOpenSSLHmacGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->hmacDgst != NULL, -1);    xmlSecAssert2(ctx->ctxInitialized == 0, -1);        value = xmlSecKeyGetValue(key);    xmlSecAssert2(xmlSecKeyDataCheckId(value, xmlSecOpenSSLKeyDataHmacId), -1);    buffer = xmlSecKeyDataBinaryValueGetBuffer(value);    xmlSecAssert2(buffer != NULL, -1);    if(xmlSecBufferGetSize(buffer) == 0) {	xmlSecErr_a_ignorar5(XMLSEC_ERRORS_HERE, 		    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),		    NULL,		    XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,		    "keySize=0");	return(-1);        }        xmlSecAssert2(xmlSecBufferGetData(buffer) != NULL, -1);    HMAC_Init(&(ctx->hmacCtx), 		xmlSecBufferGetData(buffer),  		xmlSecBufferGetSize(buffer), 		ctx->hmacDgst);     ctx->ctxInitialized = 1;    return(0);}
开发者ID:Arcenciel,项目名称:DDReader,代码行数:39,


示例28: xmlSecMSCryptoKWDes3SetKeyReq

static intxmlSecMSCryptoKWDes3SetKeyReq(xmlSecTransformPtr transform,  xmlSecKeyReqPtr keyReq) {    xmlSecMSCryptoKWDes3CtxPtr ctx;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecMSCryptoTransformKWDes3Id), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCryptoKWDes3Size), -1);    xmlSecAssert2(keyReq != NULL, -1);    ctx = xmlSecMSCryptoKWDes3GetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    keyReq->keyId       = xmlSecMSCryptoKeyDataDesId;    keyReq->keyType     = xmlSecKeyDataTypeSymmetric;    if(transform->operation == xmlSecTransformOperationEncrypt) {        keyReq->keyUsage= xmlSecKeyUsageEncrypt;    } else {        keyReq->keyUsage= xmlSecKeyUsageDecrypt;    }    keyReq->keyBitsSize = 8 * XMLSEC_KW_DES3_KEY_LENGTH;    return(0);}
开发者ID:KonstantinDavidov,项目名称:xmlsec,代码行数:22,


示例29: xmlSecOpenSSLRsaOaepSetKey

static intxmlSecOpenSSLRsaOaepSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {    xmlSecOpenSSLRsaOaepCtxPtr ctx;    EVP_PKEY* pKey;    xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformRsaOaepId), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLRsaOaepSize), -1);    xmlSecAssert2(key != NULL, -1);    xmlSecAssert2(xmlSecKeyDataCheckId(xmlSecKeyGetValue(key), xmlSecOpenSSLKeyDataRsaId), -1);    ctx = xmlSecOpenSSLRsaOaepGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->pKey == NULL, -1);    pKey = xmlSecOpenSSLKeyDataRsaGetEvp(xmlSecKeyGetValue(key));    if(pKey == NULL) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecOpenSSLKeyDataRsaGetEvp",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    xmlSecAssert2(pKey->type == EVP_PKEY_RSA, -1);    xmlSecAssert2(pKey->pkey.rsa != NULL, -1);    ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);    if(ctx->pKey == NULL) {        xmlSecError(XMLSEC_ERRORS_HERE,                    xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),                    "xmlSecOpenSSLEvpKeyDup",                    XMLSEC_ERRORS_R_XMLSEC_FAILED,                    XMLSEC_ERRORS_NO_MESSAGE);        return(-1);    }    return(0);}
开发者ID:dhyannataraj,项目名称:xmlsec-for-nataraj,代码行数:39,


示例30: xmlSecMSCngSignatureSetKeyReq

static int xmlSecMSCngSignatureSetKeyReq(xmlSecTransformPtr transform,  xmlSecKeyReqPtr keyReq) {    xmlSecMSCngSignatureCtxPtr ctx;    xmlSecAssert2(xmlSecMSCngSignatureCheckId(transform), -1);    xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);    xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecMSCngSignatureSize), -1);    xmlSecAssert2(keyReq != NULL, -1);    ctx = xmlSecMSCngSignatureGetCtx(transform);    xmlSecAssert2(ctx != NULL, -1);    xmlSecAssert2(ctx->keyId != NULL, -1);    keyReq->keyId        = ctx->keyId;    if(transform->operation == xmlSecTransformOperationSign) {        keyReq->keyType  = xmlSecKeyDataTypePrivate;        keyReq->keyUsage = xmlSecKeyUsageSign;    } else {        keyReq->keyType  = xmlSecKeyDataTypePublic;        keyReq->keyUsage = xmlSecKeyUsageVerify;    }    return(0);}
开发者ID:esproul,项目名称:xmlsec,代码行数:22,



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


C++ xmlSecTransformGetName函数代码示例
C++ xmlSecTransformCheckId函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。