version 1.22, 2022/01/05 11:38:19 |
version 1.23, 2022/01/05 12:51:49 |
|
|
goto end; |
goto end; |
} |
} |
} else |
} else |
in = BIO_new_fp(stdin, BIO_NOCLOSE); |
if ((in = BIO_new_fp(stdin, BIO_NOCLOSE)) == NULL) |
|
goto end; |
|
|
if (cms_config.operation & SMIME_IP) { |
if (cms_config.operation & SMIME_IP) { |
if (cms_config.informat == FORMAT_SMIME) |
if (cms_config.informat == FORMAT_SMIME) |
|
|
goto end; |
goto end; |
} |
} |
} else { |
} else { |
out = BIO_new_fp(stdout, BIO_NOCLOSE); |
if ((out = BIO_new_fp(stdout, BIO_NOCLOSE)) == NULL) |
|
goto end; |
} |
} |
|
|
if ((cms_config.operation == SMIME_VERIFY) || |
if ((cms_config.operation == SMIME_VERIFY) || |
|
|
if ((store = setup_verify(bio_err, cms_config.CAfile, cms_config.CApath)) == NULL) |
if ((store = setup_verify(bio_err, cms_config.CAfile, cms_config.CApath)) == NULL) |
goto end; |
goto end; |
X509_STORE_set_verify_cb(store, cms_cb); |
X509_STORE_set_verify_cb(store, cms_cb); |
if (cms_config.vpm != NULL) |
if (cms_config.vpm != NULL) { |
X509_STORE_set1_param(store, cms_config.vpm); |
if (!X509_STORE_set1_param(store, cms_config.vpm)) |
|
goto end; |
|
} |
} |
} |
ret = 3; |
ret = 3; |
|
|
|
|
CMS_RecipientInfo *ri; |
CMS_RecipientInfo *ri; |
struct cms_key_param *kparam; |
struct cms_key_param *kparam; |
int tflags = cms_config.flags; |
int tflags = cms_config.flags; |
X509 *x = sk_X509_value(cms_config.encerts, i); |
X509 *x; |
for (kparam = cms_config.key_first; kparam; kparam = kparam->next) { |
|
|
if ((x = sk_X509_value(cms_config.encerts, i)) == NULL) |
|
goto end; |
|
for (kparam = cms_config.key_first; kparam != NULL; kparam = kparam->next) { |
if (kparam->idx == i) { |
if (kparam->idx == i) { |
tflags |= CMS_KEY_PARAM; |
tflags |= CMS_KEY_PARAM; |
break; |
break; |
|
|
if (sis == NULL) |
if (sis == NULL) |
goto end; |
goto end; |
si = sk_CMS_SignerInfo_value(sis, 0); |
si = sk_CMS_SignerInfo_value(sis, 0); |
|
if (si == NULL) |
|
goto end; |
srcms = CMS_sign_receipt(si, signer, key, other, cms_config.flags); |
srcms = CMS_sign_receipt(si, signer, key, other, cms_config.flags); |
if (srcms == NULL) |
if (srcms == NULL) |
goto end; |
goto end; |
|
|
if ((sis = CMS_get0_SignerInfos(cms)) == NULL) |
if ((sis = CMS_get0_SignerInfos(cms)) == NULL) |
return; |
return; |
for (i = 0; i < sk_CMS_SignerInfo_num(sis); i++) { |
for (i = 0; i < sk_CMS_SignerInfo_num(sis); i++) { |
si = sk_CMS_SignerInfo_value(sis, i); |
if ((si = sk_CMS_SignerInfo_value(sis, i)) == NULL) |
|
return; |
rv = CMS_get1_ReceiptRequest(si, &rr); |
rv = CMS_get1_ReceiptRequest(si, &rr); |
BIO_printf(bio_err, "Signer %d:\n", i + 1); |
BIO_printf(bio_err, "Signer %d:\n", i + 1); |
if (rv == 0) |
if (rv == 0) |