Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: openssl/demos/cms/cms_ddec.c

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/demos/cms/cms_comp.c ('k') | openssl/demos/cms/cms_dec.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* S/MIME detached data decrypt example: rarely done but
2 * should the need arise this is an example....
3 */
4 #include <openssl/pem.h>
5 #include <openssl/cms.h>
6 #include <openssl/err.h>
7
8 int main(int argc, char **argv)
9 {
10 BIO *in = NULL, *out = NULL, *tbio = NULL, *dcont = NULL;
11 X509 *rcert = NULL;
12 EVP_PKEY *rkey = NULL;
13 CMS_ContentInfo *cms = NULL;
14 int ret = 1;
15
16 OpenSSL_add_all_algorithms();
17 ERR_load_crypto_strings();
18
19 /* Read in recipient certificate and private key */
20 tbio = BIO_new_file("signer.pem", "r");
21
22 if (!tbio)
23 goto err;
24
25 rcert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
26
27 BIO_reset(tbio);
28
29 rkey = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);
30
31 if (!rcert || !rkey)
32 goto err;
33
34 /* Open PEM file containing enveloped data */
35
36 in = BIO_new_file("smencr.pem", "r");
37
38 if (!in)
39 goto err;
40
41 /* Parse PEM content */
42 cms = PEM_read_bio_CMS(in, NULL, 0, NULL);
43
44 if (!cms)
45 goto err;
46
47 /* Open file containing detached content */
48 dcont = BIO_new_file("smencr.out", "rb");
49
50 if (!in)
51 goto err;
52
53 out = BIO_new_file("encrout.txt", "w");
54 if (!out)
55 goto err;
56
57 /* Decrypt S/MIME message */
58 if (!CMS_decrypt(cms, rkey, rcert, dcont, out, 0))
59 goto err;
60
61 ret = 0;
62
63 err:
64
65 if (ret)
66 {
67 fprintf(stderr, "Error Decrypting Data\n");
68 ERR_print_errors_fp(stderr);
69 }
70
71 if (cms)
72 CMS_ContentInfo_free(cms);
73 if (rcert)
74 X509_free(rcert);
75 if (rkey)
76 EVP_PKEY_free(rkey);
77
78 if (in)
79 BIO_free(in);
80 if (out)
81 BIO_free(out);
82 if (tbio)
83 BIO_free(tbio);
84 if (dcont)
85 BIO_free(dcont);
86
87 return ret;
88
89 }
OLDNEW
« no previous file with comments | « openssl/demos/cms/cms_comp.c ('k') | openssl/demos/cms/cms_dec.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698