Lines Matching refs:pkcs7
34 "signer info count not equal 1,pkcs7 add customize attribute failed");
43 "pkcs7 add customize attribute failed");
52 /* raw data exported in pkcs7 */
59 "pkcs7 is invalid");
85 static int VerifySignature(PKCS7* pkcs7, BIO* p7bio)
92 skSignerInfo = PKCS7_get_signer_info(pkcs7);
96 X509* sigCert = PKCS7_cert_from_signer_info(pkcs7, signerInfo);
97 if (PKCS7_signatureVerify(p7bio, pkcs7, signerInfo, sigCert) != 1) {
179 PrintErrorNumberMsg("INVALIDPARAM_ERROR", INVALIDPARAM_ERROR, "pkcs7 get content data failed!");
233 PrintErrorNumberMsg("INVALIDPARAM_ERROR", SIGN_ERROR, "p7 is NULL, pkcs7 sign failed");
404 "new mem buf error!,pkcs7 verify signature failed");
409 PrintErrorNumberMsg("VERIFY_ERROR", VERIFY_ERROR, "pkcs7 verify signature failed");
463 SIGNATURE_TOOLS_LOGE("pkcs7 sign time check failed");
470 int PKCS7Data::VerifySignerInfoCertchain(PKCS7* pkcs7, PKCS7_SIGNER_INFO* signerInfo,
473 X509* sigCert = PKCS7_cert_from_signer_info(pkcs7, signerInfo);
549 static ASN1_OCTET_STRING* PKCS7GetASN1Content(PKCS7* pkcs7)
551 if (PKCS7_type_is_data(pkcs7)) {
552 return pkcs7->d.data;
600 static int PKCS7DataFinalCheck(PKCS7* pkcs7, BIO* bio,
605 if (pkcs7 == NULL || pkcs7->d.ptr == NULL) {
609 id = OBJ_obj2nid(pkcs7->type);
610 pkcs7->state = PKCS7_S_HEADER;
613 *psk = pkcs7->d.sign->signer_info;
614 *pos = PKCS7GetASN1Content(pkcs7->d.sign->contents);
615 if (PKCS7_type_is_data(pkcs7->d.sign->contents) && pkcs7->detached) {
618 pkcs7->d.sign->contents->d.data = NULL;
668 static int PKCS7DataFinalSetContent(PKCS7* pkcs7, ASN1_OCTET_STRING* asn1Str, BIO* io)
671 if (!PKCS7_is_detached(pkcs7)) {
691 int PKCS7Data::Pkcs7DataFinal(PKCS7* pkcs7, BIO* io)
696 if (!PKCS7DataFinalCheck(pkcs7, io, &infoStack, &os) ||
698 !PKCS7DataFinalSetContent(pkcs7, os, io)) {
704 int PKCS7Data::Pkcs7Final(PKCS7* pkcs7, const std::string& content, int flags)
709 if ((p7bio = PKCS7_dataInit(pkcs7, NULL)) == NULL) {
714 SIGNATURE_TOOLS_LOGE("add json data to pkcs7 failed");
720 if (!Pkcs7DataFinal(pkcs7, p7bio)) {
724 if (VerifySignature(pkcs7, p7bio) < 0) {
756 static PKCS7_SIGNER_INFO* Pkcs7AddSignature(PKCS7* pkcs7, X509* cert, const EVP_MD* hash)
762 !PKCS7_add_signer(pkcs7, info)) {
772 static PKCS7_SIGNER_INFO* Pkcs7AddSignerInfo(PKCS7* pkcs7, X509* entityCert, const EVP_MD* hash, int flags)
775 if ((info = Pkcs7AddSignature(pkcs7, entityCert, hash)) == NULL) {
778 if (!PKCS7_add_certificate(pkcs7, entityCert)) {
790 PKCS7* pkcs7;
792 if (!(pkcs7 = PKCS7_new()) ||
793 !PKCS7_set_type(pkcs7, NID_pkcs7_signed) ||
794 !PKCS7_content_new(pkcs7, NID_pkcs7_data) ||
795 !Pkcs7AddSignerInfo(pkcs7, entityCert, hash, flags) ||
796 (PKCS7AddAttribute(pkcs7, attrs) < 0)) {
797 PKCS7_free(pkcs7);
803 if (!PKCS7_add_certificate(pkcs7, sk_X509_value(certs, i))) {
804 PKCS7_free(pkcs7);
811 PKCS7_set_detached(pkcs7, 1);
814 if (Pkcs7Final(pkcs7, content, flags)) {
815 return pkcs7;
817 PKCS7_free(pkcs7);