summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/demos/smime
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/demos/smime')
-rw-r--r--src/lib/libssl/src/demos/smime/cacert.pem18
-rw-r--r--src/lib/libssl/src/demos/smime/cakey.pem15
-rw-r--r--src/lib/libssl/src/demos/smime/encr.txt3
-rw-r--r--src/lib/libssl/src/demos/smime/sign.txt3
-rw-r--r--src/lib/libssl/src/demos/smime/signer.pem32
-rw-r--r--src/lib/libssl/src/demos/smime/signer2.pem32
-rw-r--r--src/lib/libssl/src/demos/smime/smdec.c83
-rw-r--r--src/lib/libssl/src/demos/smime/smenc.c92
-rw-r--r--src/lib/libssl/src/demos/smime/smsign.c89
-rw-r--r--src/lib/libssl/src/demos/smime/smsign2.c107
-rw-r--r--src/lib/libssl/src/demos/smime/smver.c87
11 files changed, 0 insertions, 561 deletions
diff --git a/src/lib/libssl/src/demos/smime/cacert.pem b/src/lib/libssl/src/demos/smime/cacert.pem
deleted file mode 100644
index 75cbb347aa..0000000000
--- a/src/lib/libssl/src/demos/smime/cacert.pem
+++ /dev/null
@@ -1,18 +0,0 @@
1-----BEGIN CERTIFICATE-----
2MIIC6DCCAlGgAwIBAgIJAMfGO3rdo2uUMA0GCSqGSIb3DQEBBAUAMFcxCzAJBgNV
3BAYTAlVLMRIwEAYDVQQHEwlUZXN0IENpdHkxFjAUBgNVBAoTDU9wZW5TU0wgR3Jv
4dXAxHDAaBgNVBAMTE1Rlc3QgUy9NSU1FIFJvb3QgQ0EwHhcNMDcwNDEzMTc0MzE3
5WhcNMTcwNDEwMTc0MzE3WjBXMQswCQYDVQQGEwJVSzESMBAGA1UEBxMJVGVzdCBD
6aXR5MRYwFAYDVQQKEw1PcGVuU1NMIEdyb3VwMRwwGgYDVQQDExNUZXN0IFMvTUlN
7RSBSb290IENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqJMal1uC1/1wz
8i5+dE4EZF2im3BgROm5PVMbwPY9V1t+KYvtdc3rMcRgJaMbP+qaEcDXoIsZfYXGR
9ielgfDNZmZcj1y/FOum+Jc2OZMs3ggPmjIQ3dbBECq0hZKcbz7wfr+2OeNWm46iT
10jcSIXpGIRhUYEzOgv7zb8oOU70IbbwIDAQABo4G7MIG4MB0GA1UdDgQWBBRHUypx
11CXFQYqewhGo72lWPQUsjoDCBiAYDVR0jBIGAMH6AFEdTKnEJcVBip7CEajvaVY9B
12SyOgoVukWTBXMQswCQYDVQQGEwJVSzESMBAGA1UEBxMJVGVzdCBDaXR5MRYwFAYD
13VQQKEw1PcGVuU1NMIEdyb3VwMRwwGgYDVQQDExNUZXN0IFMvTUlNRSBSb290IENB
14ggkAx8Y7et2ja5QwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQANI+Yc
15G/YDM1WMUGEzEkU9UhsIUqdyBebnK3+OyxZSouDcE/M10jFJzBf/F5b0uUGAKWwo
16u0dzmILfKjdfWe8EyCRafZcm00rVcO09i/63FBYzlHbmfUATIqZdhKzxxQMPs5mF
171je+pHUpzIY8TSXyh/uD9IkAy04IHwGZQf9akw==
18-----END CERTIFICATE-----
diff --git a/src/lib/libssl/src/demos/smime/cakey.pem b/src/lib/libssl/src/demos/smime/cakey.pem
deleted file mode 100644
index 3b53c5e817..0000000000
--- a/src/lib/libssl/src/demos/smime/cakey.pem
+++ /dev/null
@@ -1,15 +0,0 @@
1-----BEGIN RSA PRIVATE KEY-----
2MIICXgIBAAKBgQCqJMal1uC1/1wzi5+dE4EZF2im3BgROm5PVMbwPY9V1t+KYvtd
3c3rMcRgJaMbP+qaEcDXoIsZfYXGRielgfDNZmZcj1y/FOum+Jc2OZMs3ggPmjIQ3
4dbBECq0hZKcbz7wfr+2OeNWm46iTjcSIXpGIRhUYEzOgv7zb8oOU70IbbwIDAQAB
5AoGBAKWOZ2UTc1BkjDjz0XoscmAR8Rj77MdGzfOPkIxPultSW+3yZpkGNyUbnsH5
6HAtf4Avai/m3bMN+s91kDpx9/g/I9ZEHPQLcDICETvwt/EHT7+hwvaQgsM+TgpMs
7tjlGZOWent6wVIuvwwzqOMXZLgK9FvY7upwgtrys4G3Kab5hAkEA2QzFflWyEvKS
8rMSaVtn/IjFilwa7H0IdakkjM34z4peerFTPBr4J47YD4RCR/dAvxyNy3zUxtH18
99R6dUixI6QJBAMitJD0xOkbGWBX8KVJvRiKOIdf/95ZUAgN/h3bWKy57EB9NYj3u
10jbxXcvdjfSqiITykkjAg7SG7nrlzJsu6CpcCQG6gVsy0auXDY0TRlASuaZ6I40Is
11uRUOgqWYj2uAaHuWYdZeB4LdO3cnX0TISFDAWom6JKNlnmbrCtR4fSDT13kCQQCU
12+VQJyV3F5MDHsWbLt6eNR46AV5lpk/vatPXPlrZ/zwPs+PmRmGLICvNiDA2DdNDP
13wCx2Zjsj67CtY3rNitMJAkEAm09BQnjnbBXUb1rd2SjNDWTsu80Z+zLu8pAwXNhW
148nsvMYqlYMIxuMPwu/QuTnMRhMZ08uhqoD3ukZnBeoMEVg==
15-----END RSA PRIVATE KEY-----
diff --git a/src/lib/libssl/src/demos/smime/encr.txt b/src/lib/libssl/src/demos/smime/encr.txt
deleted file mode 100644
index f163a326ed..0000000000
--- a/src/lib/libssl/src/demos/smime/encr.txt
+++ /dev/null
@@ -1,3 +0,0 @@
1Content-type: text/plain
2
3Sample OpenSSL Data for PKCS#7 encryption
diff --git a/src/lib/libssl/src/demos/smime/sign.txt b/src/lib/libssl/src/demos/smime/sign.txt
deleted file mode 100644
index af1341d0a8..0000000000
--- a/src/lib/libssl/src/demos/smime/sign.txt
+++ /dev/null
@@ -1,3 +0,0 @@
1Content-type: text/plain
2
3Test OpenSSL Signed Content
diff --git a/src/lib/libssl/src/demos/smime/signer.pem b/src/lib/libssl/src/demos/smime/signer.pem
deleted file mode 100644
index bac16ba963..0000000000
--- a/src/lib/libssl/src/demos/smime/signer.pem
+++ /dev/null
@@ -1,32 +0,0 @@
1-----BEGIN CERTIFICATE-----
2MIICpjCCAg+gAwIBAgIJAJ+rfmEoLQRhMA0GCSqGSIb3DQEBBAUAMFcxCzAJBgNV
3BAYTAlVLMRIwEAYDVQQHEwlUZXN0IENpdHkxFjAUBgNVBAoTDU9wZW5TU0wgR3Jv
4dXAxHDAaBgNVBAMTE1Rlc3QgUy9NSU1FIFJvb3QgQ0EwHhcNMDcwNDEzMTgyOTI3
5WhcNMTcwNDA5MTgyOTI3WjBWMQswCQYDVQQGEwJVSzElMCMGA1UEAxMcT3BlblNT
6TCB0ZXN0IFMvTUlNRSBzaWduZXIgMTEgMB4GCSqGSIb3DQEJARYRdGVzdDFAb3Bl
7bnNzbC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL1ocAQ7ON2pIUXz
8jwKPzpPB9ozB6PFG6F6kARO+i0DiT6Qn8abUjwpHPU+lGys83QlpbkQVUD6Fv/4L
9ytihk6N9Pr/feECVcSZ20dI43WXjfYak14dSVrZkGNMMXqKmnnqtkAdD0oJN7A7y
10gcf8RuViV0kvk9/36eCMwMHrImfhAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZI
11AYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQW
12BBSyKqjvctIsFNBHULBTqr8SHtSxpDAfBgNVHSMEGDAWgBRHUypxCXFQYqewhGo7
132lWPQUsjoDANBgkqhkiG9w0BAQQFAAOBgQBvdYVoBfd4RV/xWSMXIcgw/i5OiwyX
14MsenQePll51MpglfArd7pUipUalCqlJt/Gs8kD16Ih1z1yuWYVTMlnDZ0PwbIOYn
15+Jr8XLF9b1SMJt6PwckZZ0LZdIi2KwGAxVsIW1kjJAqu9o4YH37XW37yYdQRxfvv
16lDiQlgX0JtmLgA==
17-----END CERTIFICATE-----
18-----BEGIN RSA PRIVATE KEY-----
19MIICXAIBAAKBgQC9aHAEOzjdqSFF848Cj86TwfaMwejxRuhepAETvotA4k+kJ/Gm
201I8KRz1PpRsrPN0JaW5EFVA+hb/+C8rYoZOjfT6/33hAlXEmdtHSON1l432GpNeH
21Ula2ZBjTDF6ipp56rZAHQ9KCTewO8oHH/EblYldJL5Pf9+ngjMDB6yJn4QIDAQAB
22AoGACCuYIWaYll80UzslYRvo8lC8nOfEb5v6bBKxBTQD98GLY+5hKywiG3RlPalG
23mb/fXQeSPReaRYgpdwD1OBEIOEMW9kLyqpzokC0xjpZ+MwsuJTlxCesk5GEsMa3o
24wC3QMmiRA7qrZ/SzTtwrs++9mZ/pxp8JZ6pKYUj8SE7/vV0CQQDz8Ix2t40E16hx
2504+XhClnGqydZJyLLSxcTU3ZVhYxL+efo/5hZ8tKpkcDi8wq6T03BOKrKxrlIW55
26qDRNM24rAkEAxsWzu/rJhIouQyNoYygEIEYzFRlTQyZSg59u6dNiewMn27dOAbyc
27YT7B6da7e74QttTXo0lIllsX2S38+XsIIwJBANSRuIU3G66tkr5l4gnhhAaxqtuY
28sgVhvvdL8dvC9aG1Ifzt9hzBSthpHxbK+oYmK07HdhI8hLpIMLHYzoK7n3MCQEy4
294rccBcxyyYiAkjozp+QNNIpgTBMPJ6pGT7lRLiHtBeV4y1NASdv/LTnk+Fi69Bid
307t3H24ytfHcHmS1yn6ECQF6Jmh4C7dlvp59zXp+t+VsXxa/8sq41vKNIj0Rx9vh5
31xp9XL0C5ZpgmBnsTydP9pmkiL4ltLbMX0wJU6N2cmFw=
32-----END RSA PRIVATE KEY-----
diff --git a/src/lib/libssl/src/demos/smime/signer2.pem b/src/lib/libssl/src/demos/smime/signer2.pem
deleted file mode 100644
index 25e23d131a..0000000000
--- a/src/lib/libssl/src/demos/smime/signer2.pem
+++ /dev/null
@@ -1,32 +0,0 @@
1-----BEGIN CERTIFICATE-----
2MIICpjCCAg+gAwIBAgIJAJ+rfmEoLQRiMA0GCSqGSIb3DQEBBAUAMFcxCzAJBgNV
3BAYTAlVLMRIwEAYDVQQHEwlUZXN0IENpdHkxFjAUBgNVBAoTDU9wZW5TU0wgR3Jv
4dXAxHDAaBgNVBAMTE1Rlc3QgUy9NSU1FIFJvb3QgQ0EwHhcNMDcwNDEzMTgyOTQ0
5WhcNMTcwNDA5MTgyOTQ0WjBWMQswCQYDVQQGEwJVSzElMCMGA1UEAxMcT3BlblNT
6TCB0ZXN0IFMvTUlNRSBzaWduZXIgMjEgMB4GCSqGSIb3DQEJARYRdGVzdDJAb3Bl
7bnNzbC5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANco7VPgX9vcGwmZ
8jYqjq1JiR7M38dsMNhuJyLRVjJ5/cpFluQydQuG1PhzOJ8zfYVFicOXKvbYuKuXW
9ozZIwzqEqWsNf36KHTLS6yOMG8I13cRInh+fAIKq9Z8Eh65I7FJzVsNsfEQrGfEW
10GMA8us24IaSvP3QkbfHJn/4RaKznAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZI
11AYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQW
12BBRlrLQJUB8uAa4q8B2OqvvTXonF5zAfBgNVHSMEGDAWgBRHUypxCXFQYqewhGo7
132lWPQUsjoDANBgkqhkiG9w0BAQQFAAOBgQBQbi2juGALg2k9m1hKpzR2lCGmGO3X
14h3Jh/l0vIxDr0RTgP2vBrtITlx655P/o1snoeTIpYG8uUnFnTE/6YakdayAIlxV4
15aZl63AivZMpQB5SPaPH/jEsGJ8UQMfdiy4ORWIULupuPKlKwODNw7tVhQIACS/DR
162aX6rl2JEuJ5Yg==
17-----END CERTIFICATE-----
18-----BEGIN RSA PRIVATE KEY-----
19MIICXAIBAAKBgQDXKO1T4F/b3BsJmY2Ko6tSYkezN/HbDDYbici0VYyef3KRZbkM
20nULhtT4czifM32FRYnDlyr22Lirl1qM2SMM6hKlrDX9+ih0y0usjjBvCNd3ESJ4f
21nwCCqvWfBIeuSOxSc1bDbHxEKxnxFhjAPLrNuCGkrz90JG3xyZ/+EWis5wIDAQAB
22AoGAUTB2bcIrKfGimjrBOGGOUmYXnD8uGnQ/LqENhU8K4vxApTD3ZRUqmbUknQYF
236r8YH/e/llasw8QkF9qod+F5GTgsnyh/aMidFHKrXXbf1662scz9+S6crSXq9Eb2
24CL57f6Kw61k6edrz8zHdA+rnTK00hzgzKCP4ZL5k8/55ueECQQD+BK+nsKi6CcKf
25m3Mh61Sf2Icm5JlMCKaihlbnh78lBN1imYUAfHJEnQ1ujxXB94R+6o9S+XrWTnTX
262m/JNIfpAkEA2NaidX7Sv5jnRPkwJ02Srl0urxINLmg4bU0zmM3VoMklYBHWnMyr
27upPZGPh5TzCa+g6FTBmU8XK61wvnEKNcTwJBAM24VdnlBIDGbsx8RJ3vzLU30xz4
28ff5J80okqjUQhwkgC3tTAZgHMTPITZyAXQqdvrxakoCMc6MkHxTBX08AMCECQHHL
29SdyxXrYv7waSY0PtANJCkpJLveEhzqMFxdMmCjtj9BpTojYNbv3uQxtIopj9YAdk
30gW2ray++zvC2DV/86x8CQH4UJwgO6JqU4bSgi6HiRNjDg26tJ0Beu8jjl1vrkIVX
31pHFwSUeLZUsT2/iTUSgYH4uYiZPgYNcKTCT9W6se30A=
32-----END RSA PRIVATE KEY-----
diff --git a/src/lib/libssl/src/demos/smime/smdec.c b/src/lib/libssl/src/demos/smime/smdec.c
deleted file mode 100644
index 8b1a8545a6..0000000000
--- a/src/lib/libssl/src/demos/smime/smdec.c
+++ /dev/null
@@ -1,83 +0,0 @@
1/* Simple S/MIME signing example */
2#include <openssl/pem.h>
3#include <openssl/pkcs7.h>
4#include <openssl/err.h>
5
6int main(int argc, char **argv)
7 {
8 BIO *in = NULL, *out = NULL, *tbio = NULL;
9 X509 *rcert = NULL;
10 EVP_PKEY *rkey = NULL;
11 PKCS7 *p7 = NULL;
12 int ret = 1;
13
14 OpenSSL_add_all_algorithms();
15 ERR_load_crypto_strings();
16
17 /* Read in recipient certificate and private key */
18 tbio = BIO_new_file("signer.pem", "r");
19
20 if (!tbio)
21 goto err;
22
23 rcert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
24
25 BIO_reset(tbio);
26
27 rkey = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);
28
29 if (!rcert || !rkey)
30 goto err;
31
32 /* Open content being signed */
33
34 in = BIO_new_file("smencr.txt", "r");
35
36 if (!in)
37 goto err;
38
39 /* Sign content */
40 p7 = SMIME_read_PKCS7(in, NULL);
41
42 if (!p7)
43 goto err;
44
45 out = BIO_new_file("encrout.txt", "w");
46 if (!out)
47 goto err;
48
49 /* Decrypt S/MIME message */
50 if (!PKCS7_decrypt(p7, rkey, rcert, out, 0))
51 goto err;
52
53 ret = 0;
54
55 err:
56
57 if (ret)
58 {
59 fprintf(stderr, "Error Signing Data\n");
60 ERR_print_errors_fp(stderr);
61 }
62
63 if (p7)
64 PKCS7_free(p7);
65 if (rcert)
66 X509_free(rcert);
67 if (rkey)
68 EVP_PKEY_free(rkey);
69
70 if (in)
71 BIO_free(in);
72 if (out)
73 BIO_free(out);
74 if (tbio)
75 BIO_free(tbio);
76
77 return ret;
78
79 }
80
81
82
83
diff --git a/src/lib/libssl/src/demos/smime/smenc.c b/src/lib/libssl/src/demos/smime/smenc.c
deleted file mode 100644
index 77dd732fc1..0000000000
--- a/src/lib/libssl/src/demos/smime/smenc.c
+++ /dev/null
@@ -1,92 +0,0 @@
1/* Simple S/MIME encrypt example */
2#include <openssl/pem.h>
3#include <openssl/pkcs7.h>
4#include <openssl/err.h>
5
6int main(int argc, char **argv)
7 {
8 BIO *in = NULL, *out = NULL, *tbio = NULL;
9 X509 *rcert = NULL;
10 STACK_OF(X509) *recips = NULL;
11 PKCS7 *p7 = NULL;
12 int ret = 1;
13
14 /*
15 * On OpenSSL 0.9.9 only:
16 * for streaming set PKCS7_STREAM
17 */
18 int flags = PKCS7_STREAM;
19
20 OpenSSL_add_all_algorithms();
21 ERR_load_crypto_strings();
22
23 /* Read in recipient certificate */
24 tbio = BIO_new_file("signer.pem", "r");
25
26 if (!tbio)
27 goto err;
28
29 rcert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
30
31 if (!rcert)
32 goto err;
33
34 /* Create recipient STACK and add recipient cert to it */
35 recips = sk_X509_new_null();
36
37 if (!recips || !sk_X509_push(recips, rcert))
38 goto err;
39
40 /* sk_X509_pop_free will free up recipient STACK and its contents
41 * so set rcert to NULL so it isn't freed up twice.
42 */
43 rcert = NULL;
44
45 /* Open content being encrypted */
46
47 in = BIO_new_file("encr.txt", "r");
48
49 if (!in)
50 goto err;
51
52 /* encrypt content */
53 p7 = PKCS7_encrypt(recips, in, EVP_des_ede3_cbc(), flags);
54
55 if (!p7)
56 goto err;
57
58 out = BIO_new_file("smencr.txt", "w");
59 if (!out)
60 goto err;
61
62 /* Write out S/MIME message */
63 if (!SMIME_write_PKCS7(out, p7, in, flags))
64 goto err;
65
66 ret = 0;
67
68 err:
69
70 if (ret)
71 {
72 fprintf(stderr, "Error Encrypting Data\n");
73 ERR_print_errors_fp(stderr);
74 }
75
76 if (p7)
77 PKCS7_free(p7);
78 if (rcert)
79 X509_free(rcert);
80 if (recips)
81 sk_X509_pop_free(recips, X509_free);
82
83 if (in)
84 BIO_free(in);
85 if (out)
86 BIO_free(out);
87 if (tbio)
88 BIO_free(tbio);
89
90 return ret;
91
92 }
diff --git a/src/lib/libssl/src/demos/smime/smsign.c b/src/lib/libssl/src/demos/smime/smsign.c
deleted file mode 100644
index ba78830cff..0000000000
--- a/src/lib/libssl/src/demos/smime/smsign.c
+++ /dev/null
@@ -1,89 +0,0 @@
1/* Simple S/MIME signing example */
2#include <openssl/pem.h>
3#include <openssl/pkcs7.h>
4#include <openssl/err.h>
5
6int main(int argc, char **argv)
7 {
8 BIO *in = NULL, *out = NULL, *tbio = NULL;
9 X509 *scert = NULL;
10 EVP_PKEY *skey = NULL;
11 PKCS7 *p7 = NULL;
12 int ret = 1;
13
14 /* For simple S/MIME signing use PKCS7_DETACHED.
15 * On OpenSSL 0.9.9 only:
16 * for streaming detached set PKCS7_DETACHED|PKCS7_STREAM
17 * for streaming non-detached set PKCS7_STREAM
18 */
19 int flags = PKCS7_DETACHED|PKCS7_STREAM;
20
21 OpenSSL_add_all_algorithms();
22 ERR_load_crypto_strings();
23
24 /* Read in signer certificate and private key */
25 tbio = BIO_new_file("signer.pem", "r");
26
27 if (!tbio)
28 goto err;
29
30 scert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
31
32 BIO_reset(tbio);
33
34 skey = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);
35
36 if (!scert || !skey)
37 goto err;
38
39 /* Open content being signed */
40
41 in = BIO_new_file("sign.txt", "r");
42
43 if (!in)
44 goto err;
45
46 /* Sign content */
47 p7 = PKCS7_sign(scert, skey, NULL, in, flags);
48
49 if (!p7)
50 goto err;
51
52 out = BIO_new_file("smout.txt", "w");
53 if (!out)
54 goto err;
55
56 if (!(flags & PKCS7_STREAM))
57 BIO_reset(in);
58
59 /* Write out S/MIME message */
60 if (!SMIME_write_PKCS7(out, p7, in, flags))
61 goto err;
62
63 ret = 0;
64
65 err:
66
67 if (ret)
68 {
69 fprintf(stderr, "Error Signing Data\n");
70 ERR_print_errors_fp(stderr);
71 }
72
73 if (p7)
74 PKCS7_free(p7);
75 if (scert)
76 X509_free(scert);
77 if (skey)
78 EVP_PKEY_free(skey);
79
80 if (in)
81 BIO_free(in);
82 if (out)
83 BIO_free(out);
84 if (tbio)
85 BIO_free(tbio);
86
87 return ret;
88
89 }
diff --git a/src/lib/libssl/src/demos/smime/smsign2.c b/src/lib/libssl/src/demos/smime/smsign2.c
deleted file mode 100644
index ff835c568c..0000000000
--- a/src/lib/libssl/src/demos/smime/smsign2.c
+++ /dev/null
@@ -1,107 +0,0 @@
1/* S/MIME signing example: 2 signers. OpenSSL 0.9.9 only */
2#include <openssl/pem.h>
3#include <openssl/pkcs7.h>
4#include <openssl/err.h>
5
6int main(int argc, char **argv)
7 {
8 BIO *in = NULL, *out = NULL, *tbio = NULL;
9 X509 *scert = NULL, *scert2 = NULL;
10 EVP_PKEY *skey = NULL, *skey2 = NULL;
11 PKCS7 *p7 = NULL;
12 int ret = 1;
13
14 OpenSSL_add_all_algorithms();
15 ERR_load_crypto_strings();
16
17 tbio = BIO_new_file("signer.pem", "r");
18
19 if (!tbio)
20 goto err;
21
22 scert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
23
24 BIO_reset(tbio);
25
26 skey = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);
27
28 BIO_free(tbio);
29
30 tbio = BIO_new_file("signer2.pem", "r");
31
32 if (!tbio)
33 goto err;
34
35 scert2 = PEM_read_bio_X509(tbio, NULL, 0, NULL);
36
37 BIO_reset(tbio);
38
39 skey2 = PEM_read_bio_PrivateKey(tbio, NULL, 0, NULL);
40
41 if (!scert2 || !skey2)
42 goto err;
43
44 in = BIO_new_file("sign.txt", "r");
45
46 if (!in)
47 goto err;
48
49 p7 = PKCS7_sign(NULL, NULL, NULL, in, PKCS7_STREAM|PKCS7_PARTIAL);
50
51 if (!p7)
52 goto err;
53
54 /* Add each signer in turn */
55
56 if (!PKCS7_sign_add_signer(p7, scert, skey, NULL, 0))
57 goto err;
58
59 if (!PKCS7_sign_add_signer(p7, scert2, skey2, NULL, 0))
60 goto err;
61
62 out = BIO_new_file("smout.txt", "w");
63 if (!out)
64 goto err;
65
66 /* NB: content included and finalized by SMIME_write_PKCS7 */
67
68 if (!SMIME_write_PKCS7(out, p7, in, PKCS7_STREAM))
69 goto err;
70
71 ret = 0;
72
73 err:
74
75 if (ret)
76 {
77 fprintf(stderr, "Error Signing Data\n");
78 ERR_print_errors_fp(stderr);
79 }
80
81 if (p7)
82 PKCS7_free(p7);
83
84 if (scert)
85 X509_free(scert);
86 if (skey)
87 EVP_PKEY_free(skey);
88
89 if (scert2)
90 X509_free(scert2);
91 if (skey)
92 EVP_PKEY_free(skey2);
93
94 if (in)
95 BIO_free(in);
96 if (out)
97 BIO_free(out);
98 if (tbio)
99 BIO_free(tbio);
100
101 return ret;
102
103 }
104
105
106
107
diff --git a/src/lib/libssl/src/demos/smime/smver.c b/src/lib/libssl/src/demos/smime/smver.c
deleted file mode 100644
index 9d360c273a..0000000000
--- a/src/lib/libssl/src/demos/smime/smver.c
+++ /dev/null
@@ -1,87 +0,0 @@
1/* Simple S/MIME verification example */
2#include <openssl/pem.h>
3#include <openssl/pkcs7.h>
4#include <openssl/err.h>
5
6int main(int argc, char **argv)
7 {
8 BIO *in = NULL, *out = NULL, *tbio = NULL, *cont = NULL;
9 X509_STORE *st = NULL;
10 X509 *cacert = NULL;
11 PKCS7 *p7 = NULL;
12
13 int ret = 1;
14
15 OpenSSL_add_all_algorithms();
16 ERR_load_crypto_strings();
17
18 /* Set up trusted CA certificate store */
19
20 st = X509_STORE_new();
21
22 /* Read in signer certificate and private key */
23 tbio = BIO_new_file("cacert.pem", "r");
24
25 if (!tbio)
26 goto err;
27
28 cacert = PEM_read_bio_X509(tbio, NULL, 0, NULL);
29
30 if (!cacert)
31 goto err;
32
33 if (!X509_STORE_add_cert(st, cacert))
34 goto err;
35
36 /* Open content being signed */
37
38 in = BIO_new_file("smout.txt", "r");
39
40 if (!in)
41 goto err;
42
43 /* Sign content */
44 p7 = SMIME_read_PKCS7(in, &cont);
45
46 if (!p7)
47 goto err;
48
49 /* File to output verified content to */
50 out = BIO_new_file("smver.txt", "w");
51 if (!out)
52 goto err;
53
54 if (!PKCS7_verify(p7, NULL, st, cont, out, 0))
55 {
56 fprintf(stderr, "Verification Failure\n");
57 goto err;
58 }
59
60 fprintf(stderr, "Verification Successful\n");
61
62 ret = 0;
63
64 err:
65
66 if (ret)
67 {
68 fprintf(stderr, "Error Verifying Data\n");
69 ERR_print_errors_fp(stderr);
70 }
71
72 if (p7)
73 PKCS7_free(p7);
74
75 if (cacert)
76 X509_free(cacert);
77
78 if (in)
79 BIO_free(in);
80 if (out)
81 BIO_free(out);
82 if (tbio)
83 BIO_free(tbio);
84
85 return ret;
86
87 }