一般做门户网站多少钱,可以做英语翻译兼职的网站,中国营销协会官网,长沙行业设备行业网页设计文章目录 openssl3.2 - 官方demo学习 - cms - cms_dec.c概述笔记END openssl3.2 - 官方demo学习 - cms - cms_dec.c
概述
对用证书加密的CMS数据进行解密(也需要加密时用的那个证书)
笔记
/*! \file cms_dec.c
* \note openssl3.2 - 官方demo学习 - cms - cms_dec.c
对用证… 文章目录 openssl3.2 - 官方demo学习 - cms - cms_dec.c概述笔记END openssl3.2 - 官方demo学习 - cms - cms_dec.c
概述
对用证书加密的CMS数据进行解密(也需要加密时用的那个证书)
笔记
/*! \file cms_dec.c
* \note openssl3.2 - 官方demo学习 - cms - cms_dec.c
对用证书加密的CMS数据进行解密(也需要加密时用的那个证书)
*//** Copyright 2008-2023 The OpenSSL Project Authors. All Rights Reserved.** Licensed under the Apache License 2.0 (the License). You may not use* this file except in compliance with the License. You can obtain a copy* in the file LICENSE in the source distribution or at* https://www.openssl.org/source/license.html*//* Simple S/MIME decryption example */
#include openssl/pem.h
#include openssl/cms.h
#include openssl/err.h#include my_openSSL_lib.hint main(int argc, char **argv)
{BIO *in NULL, *out NULL, *tbio NULL;X509 *rcert NULL;EVP_PKEY *rkey NULL;CMS_ContentInfo *cms NULL;int ret EXIT_FAILURE;OpenSSL_add_all_algorithms();ERR_load_crypto_strings();/* Read in recipient certificate and private key *//*! 读入收件人证书和私钥 */tbio BIO_new_file(signer.pem, r);if (!tbio)goto err;rcert PEM_read_bio_X509(tbio, NULL, 0, NULL);BIO_reset(tbio);rkey PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);if (!rcert || !rkey)goto err;/* Open S/MIME message to decrypt */in BIO_new_file(smencr.txt, r);if (!in)goto err;/* Parse message */cms SMIME_read_CMS(in, NULL);if (!cms)goto err;out BIO_new_file(decout.txt, w);if (!out)goto err;/* Decrypt S/MIME message */if (!CMS_decrypt(cms, rkey, rcert, NULL, out, 0))goto err;printf(Decryption Successful\n);ret EXIT_SUCCESS;err:if (ret ! EXIT_SUCCESS) {fprintf(stderr, Error Decrypting Data\n);ERR_print_errors_fp(stderr);}CMS_ContentInfo_free(cms);X509_free(rcert);EVP_PKEY_free(rkey);BIO_free(in);BIO_free(out);BIO_free(tbio);return ret;
}
END