Home | History | Annotate | Download | only in hx509

Lines Matching defs:sigctx

1197 struct sigctx {
1213 struct sigctx *sigctx = ctx;
1220 SignedData *sd = &sigctx->sd;
1232 if (sigctx->digest_alg) {
1233 ret = copy_AlgorithmIdentifier(sigctx->digest_alg, &digest);
1239 sigctx->peer, &digest);
1262 ret = fill_CMSIdentifier(cert, sigctx->cmsidflag, &signer_info->sid);
1281 if (der_heim_oid_cmp(sigctx->eContentType, &asn1_oid_id_pkcs7_data) != 0) {
1294 &sigctx->content,
1328 sigctx->eContentType,
1362 sigdata.data = sigctx->content.data;
1363 sigdata.length = sigctx->content.length;
1370 _hx509_cert_private_key(cert), sigctx->peer,
1386 sigctx->sd.signerInfos.len++;
1392 if (sigctx->certs) {
1395 if (sigctx->pool && sigctx->leafonly == 0) {
1399 sigctx->anchors,
1402 sigctx->pool,
1409 ret = hx509_certs_add(context, sigctx->certs, path.val[i]);
1420 if (sigdata.data != sigctx->content.data)
1431 struct sigctx *sigctx = ctx;
1432 const unsigned int i = sigctx->sd.certificates->len;
1436 ptr = realloc(sigctx->sd.certificates->val,
1437 (i + 1) * sizeof(sigctx->sd.certificates->val[0]));
1440 sigctx->sd.certificates->val = ptr;
1443 &sigctx->sd.certificates->val[i]);
1445 sigctx->sd.certificates->len++;
1472 struct sigctx sigctx;
1474 memset(&sigctx, 0, sizeof(sigctx));
1480 sigctx.digest_alg = digest_alg;
1481 sigctx.content.data = rk_UNCONST(data);
1482 sigctx.content.length = length;
1483 sigctx.eContentType = eContentType;
1484 sigctx.peer = peer;
1491 sigctx.cmsidflag = CMS_ID_NAME;
1493 sigctx.cmsidflag = CMS_ID_SKI;
1499 sigctx.leafonly = (flags & HX509_CMS_SIGNATURE_LEAF_ONLY) ? 1 : 0;
1507 ret = hx509_certs_init(context, "MEMORY:certs", 0, NULL, &sigctx.certs);
1512 sigctx.anchors = anchors;
1513 sigctx.pool = pool;
1515 sigctx.sd.version = CMSVersion_v3;
1517 der_copy_oid(eContentType, &sigctx.sd.encapContentInfo.eContentType);
1523 ALLOC(sigctx.sd.encapContentInfo.eContent, 1);
1524 if (sigctx.sd.encapContentInfo.eContent == NULL) {
1530 sigctx.sd.encapContentInfo.eContent->data = malloc(length);
1531 if (sigctx.sd.encapContentInfo.eContent->data == NULL) {
1536 memcpy(sigctx.sd.encapContentInfo.eContent->data, data, length);
1537 sigctx.sd.encapContentInfo.eContent->length = length;
1545 ret = hx509_certs_iter_f(context, certs, sig_process, &sigctx);
1550 if (sigctx.sd.signerInfos.len) {
1555 for (i = 0; i < sigctx.sd.signerInfos.len; i++) {
1557 &sigctx.sd.signerInfos.val[i].digestAlgorithm;
1559 for (j = 0; j < sigctx.sd.digestAlgorithms.len; j++)
1560 if (cmp_AlgorithmIdentifier(di, &sigctx.sd.digestAlgorithms.val[j]) == 0)
1562 if (j == sigctx.sd.digestAlgorithms.len) {
1563 ret = add_DigestAlgorithmIdentifiers(&sigctx.sd.digestAlgorithms, di);
1575 if (sigctx.certs) {
1576 ALLOC(sigctx.sd.certificates, 1);
1577 if (sigctx.sd.certificates == NULL) {
1583 ret = hx509_certs_iter_f(context, sigctx.certs, cert_process, &sigctx);
1590 &sigctx.sd, &size, ret);
1599 hx509_certs_free(&sigctx.certs);
1600 free_SignedData(&sigctx.sd);