X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=demos%2Fcms%2Fcms_sign2.c;h=beda9779a3fba71fd3149f12bf3d6bee6c116ccb;hp=23c6eb8f9f6524d3a85c81b39c43db69d9b7d4ad;hb=HEAD;hpb=ca3a82c3b364e1e584546f0f3bbb938b0b472580 diff --git a/demos/cms/cms_sign2.c b/demos/cms/cms_sign2.c index 23c6eb8f9f..af3386eb76 100644 --- a/demos/cms/cms_sign2.c +++ b/demos/cms/cms_sign2.c @@ -1,3 +1,12 @@ +/* + * 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 + */ + /* S/MIME signing example: 2 signers */ #include #include @@ -9,7 +18,7 @@ int main(int argc, char **argv) X509 *scert = NULL, *scert2 = NULL; EVP_PKEY *skey = NULL, *skey2 = NULL; CMS_ContentInfo *cms = NULL; - int ret = 1; + int ret = EXIT_FAILURE; OpenSSL_add_all_algorithms(); ERR_load_crypto_strings(); @@ -21,7 +30,8 @@ int main(int argc, char **argv) scert = PEM_read_bio_X509(tbio, NULL, 0, NULL); - BIO_reset(tbio); + if (BIO_reset(tbio) < 0) + goto err; skey = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL); @@ -34,7 +44,8 @@ int main(int argc, char **argv) scert2 = PEM_read_bio_X509(tbio, NULL, 0, NULL); - BIO_reset(tbio); + if (BIO_reset(tbio) < 0) + goto err; skey2 = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL); @@ -68,32 +79,22 @@ int main(int argc, char **argv) if (!SMIME_write_CMS(out, cms, in, CMS_STREAM)) goto err; - ret = 0; + printf("Signing Successful\n"); + ret = EXIT_SUCCESS; err: - - if (ret) { + if (ret != EXIT_SUCCESS) { fprintf(stderr, "Error Signing Data\n"); ERR_print_errors_fp(stderr); } - if (cms) - CMS_ContentInfo_free(cms); - - if (scert) - X509_free(scert); - if (skey) - EVP_PKEY_free(skey); - - if (scert2) - X509_free(scert2); - if (skey) - EVP_PKEY_free(skey2); - + CMS_ContentInfo_free(cms); + X509_free(scert); + EVP_PKEY_free(skey); + X509_free(scert2); + EVP_PKEY_free(skey2); BIO_free(in); BIO_free(out); BIO_free(tbio); - return ret; - }