diff options
Diffstat (limited to 'src/lib')
38 files changed, 45 insertions, 1062 deletions
diff --git a/src/lib/libcrypto/crypto/Makefile b/src/lib/libcrypto/crypto/Makefile index a4e65fd6a6..d523e8029d 100644 --- a/src/lib/libcrypto/crypto/Makefile +++ b/src/lib/libcrypto/crypto/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.57 2015/04/11 16:16:15 deraadt Exp $ | 1 | # $OpenBSD: Makefile,v 1.58 2015/06/20 01:07:24 doug Exp $ |
2 | 2 | ||
3 | LIB= crypto | 3 | LIB= crypto |
4 | 4 | ||
@@ -146,7 +146,7 @@ SRCS+= e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c | |||
146 | SRCS+= e_rc4.c e_aes.c names.c | 146 | SRCS+= e_rc4.c e_aes.c names.c |
147 | SRCS+= e_xcbc_d.c e_rc2.c e_cast.c | 147 | SRCS+= e_xcbc_d.c e_rc2.c e_cast.c |
148 | SRCS+= m_null.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c | 148 | SRCS+= m_null.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c |
149 | SRCS+= m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c | 149 | SRCS+= m_dss.c m_dss1.c m_ripemd.c m_ecdsa.c |
150 | SRCS+= p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c | 150 | SRCS+= p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c |
151 | SRCS+= bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c | 151 | SRCS+= bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c |
152 | SRCS+= c_all.c evp_lib.c | 152 | SRCS+= c_all.c evp_lib.c |
@@ -180,9 +180,6 @@ SRCS+= md4_dgst.c md4_one.c | |||
180 | # md5/ | 180 | # md5/ |
181 | SRCS+= md5_dgst.c md5_one.c | 181 | SRCS+= md5_dgst.c md5_one.c |
182 | 182 | ||
183 | # mdc2/ | ||
184 | SRCS+= mdc2dgst.c mdc2_one.c | ||
185 | |||
186 | # modes/ | 183 | # modes/ |
187 | SRCS+= cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c | 184 | SRCS+= cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c |
188 | 185 | ||
@@ -292,7 +289,6 @@ SRCS+= pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c | |||
292 | ${LCRYPTO_SRC}/lhash \ | 289 | ${LCRYPTO_SRC}/lhash \ |
293 | ${LCRYPTO_SRC}/md4 \ | 290 | ${LCRYPTO_SRC}/md4 \ |
294 | ${LCRYPTO_SRC}/md5 \ | 291 | ${LCRYPTO_SRC}/md5 \ |
295 | ${LCRYPTO_SRC}/mdc2 \ | ||
296 | ${LCRYPTO_SRC}/modes \ | 292 | ${LCRYPTO_SRC}/modes \ |
297 | ${LCRYPTO_SRC}/objects \ | 293 | ${LCRYPTO_SRC}/objects \ |
298 | ${LCRYPTO_SRC}/ocsp \ | 294 | ${LCRYPTO_SRC}/ocsp \ |
@@ -352,7 +348,6 @@ HDRS=\ | |||
352 | crypto/lhash/lhash.h \ | 348 | crypto/lhash/lhash.h \ |
353 | crypto/md4/md4.h \ | 349 | crypto/md4/md4.h \ |
354 | crypto/md5/md5.h \ | 350 | crypto/md5/md5.h \ |
355 | crypto/mdc2/mdc2.h \ | ||
356 | crypto/modes/modes.h \ | 351 | crypto/modes/modes.h \ |
357 | crypto/objects/objects.h \ | 352 | crypto/objects/objects.h \ |
358 | crypto/ocsp/ocsp.h \ | 353 | crypto/ocsp/ocsp.h \ |
diff --git a/src/lib/libcrypto/doc/EVP_DigestInit.pod b/src/lib/libcrypto/doc/EVP_DigestInit.pod index 4b48080b4a..ccb19fc0a7 100644 --- a/src/lib/libcrypto/doc/EVP_DigestInit.pod +++ b/src/lib/libcrypto/doc/EVP_DigestInit.pod | |||
@@ -8,7 +8,7 @@ EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, | |||
8 | EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, | 8 | EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, |
9 | EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, EVP_sha, | 9 | EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, EVP_sha, |
10 | EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, EVP_dss1, | 10 | EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, EVP_dss1, |
11 | EVP_mdc2, EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, | 11 | EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, |
12 | EVP_get_digestbyobj - EVP digest routines | 12 | EVP_get_digestbyobj - EVP digest routines |
13 | 13 | ||
14 | =head1 SYNOPSIS | 14 | =head1 SYNOPSIS |
@@ -53,7 +53,6 @@ EVP_get_digestbyobj - EVP digest routines | |||
53 | const EVP_MD *EVP_sha1(void); | 53 | const EVP_MD *EVP_sha1(void); |
54 | const EVP_MD *EVP_dss(void); | 54 | const EVP_MD *EVP_dss(void); |
55 | const EVP_MD *EVP_dss1(void); | 55 | const EVP_MD *EVP_dss1(void); |
56 | const EVP_MD *EVP_mdc2(void); | ||
57 | const EVP_MD *EVP_ripemd160(void); | 56 | const EVP_MD *EVP_ripemd160(void); |
58 | 57 | ||
59 | const EVP_MD *EVP_sha224(void); | 58 | const EVP_MD *EVP_sha224(void); |
@@ -134,8 +133,8 @@ algorithms are no longer linked this function is only retained for | |||
134 | compatibility reasons. | 133 | compatibility reasons. |
135 | 134 | ||
136 | EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(), | 135 | EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(), |
137 | EVP_sha384(), EVP_sha512(), EVP_mdc2() and EVP_ripemd160() return B<EVP_MD> | 136 | EVP_sha384(), EVP_sha512() and EVP_ripemd160() return B<EVP_MD> |
138 | structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512, MDC2 | 137 | structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512 |
139 | and RIPEMD160 digest algorithms respectively. | 138 | and RIPEMD160 digest algorithms respectively. |
140 | 139 | ||
141 | EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest | 140 | EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest |
@@ -165,7 +164,7 @@ EVP_MD_size(), EVP_MD_block_size(), EVP_MD_CTX_size() and | |||
165 | EVP_MD_CTX_block_size() return the digest or block size in bytes. | 164 | EVP_MD_CTX_block_size() return the digest or block size in bytes. |
166 | 165 | ||
167 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), | 166 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), |
168 | EVP_dss1(), EVP_mdc2() and EVP_ripemd160() return pointers to the | 167 | EVP_dss1() and EVP_ripemd160() return pointers to the |
169 | corresponding EVP_MD structures. | 168 | corresponding EVP_MD structures. |
170 | 169 | ||
171 | EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj() | 170 | EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj() |
@@ -253,7 +252,7 @@ digest name passed on the command line. | |||
253 | =head1 SEE ALSO | 252 | =head1 SEE ALSO |
254 | 253 | ||
255 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 254 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
256 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 255 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
257 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 256 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
258 | 257 | ||
259 | =head1 HISTORY | 258 | =head1 HISTORY |
@@ -266,7 +265,7 @@ EVP_MD_CTX_cleanup(), EVP_MD_CTX_destroy(), EVP_DigestInit_ex() | |||
266 | and EVP_DigestFinal_ex() were added in OpenSSL 0.9.7. | 265 | and EVP_DigestFinal_ex() were added in OpenSSL 0.9.7. |
267 | 266 | ||
268 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), | 267 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), |
269 | EVP_dss(), EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were | 268 | EVP_dss(), EVP_dss1() and EVP_ripemd160() were |
270 | changed to return truely const EVP_MD * in OpenSSL 0.9.7. | 269 | changed to return truely const EVP_MD * in OpenSSL 0.9.7. |
271 | 270 | ||
272 | The link between digests and signing algorithms was fixed in OpenSSL 1.0 and | 271 | The link between digests and signing algorithms was fixed in OpenSSL 1.0 and |
diff --git a/src/lib/libcrypto/doc/EVP_DigestSignInit.pod b/src/lib/libcrypto/doc/EVP_DigestSignInit.pod index e70b88a4a9..7fd4c22e79 100644 --- a/src/lib/libcrypto/doc/EVP_DigestSignInit.pod +++ b/src/lib/libcrypto/doc/EVP_DigestSignInit.pod | |||
@@ -74,7 +74,7 @@ which indicates the maximum possible signature for any set of parameters. | |||
74 | L<EVP_DigestVerifyInit(3)|EVP_DigestVerifyInit(3)>, | 74 | L<EVP_DigestVerifyInit(3)|EVP_DigestVerifyInit(3)>, |
75 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 75 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
76 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 76 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
77 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 77 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
78 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 78 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
79 | 79 | ||
80 | =head1 HISTORY | 80 | =head1 HISTORY |
diff --git a/src/lib/libcrypto/doc/EVP_DigestVerifyInit.pod b/src/lib/libcrypto/doc/EVP_DigestVerifyInit.pod index 9eebb15d22..0817cf0b02 100644 --- a/src/lib/libcrypto/doc/EVP_DigestVerifyInit.pod +++ b/src/lib/libcrypto/doc/EVP_DigestVerifyInit.pod | |||
@@ -69,7 +69,7 @@ will occur. | |||
69 | L<EVP_DigestSignInit(3)|EVP_DigestSignInit(3)>, | 69 | L<EVP_DigestSignInit(3)|EVP_DigestSignInit(3)>, |
70 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 70 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
71 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 71 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
72 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 72 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
73 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 73 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
74 | 74 | ||
75 | =head1 HISTORY | 75 | =head1 HISTORY |
diff --git a/src/lib/libcrypto/doc/EVP_SignInit.pod b/src/lib/libcrypto/doc/EVP_SignInit.pod index 5a1b67e006..9aafa3d63a 100644 --- a/src/lib/libcrypto/doc/EVP_SignInit.pod +++ b/src/lib/libcrypto/doc/EVP_SignInit.pod | |||
@@ -89,7 +89,7 @@ The previous two bugs are fixed in the newer EVP_SignDigest*() function. | |||
89 | L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, | 89 | L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, |
90 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 90 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
91 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 91 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
92 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 92 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
93 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 93 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
94 | 94 | ||
95 | =head1 HISTORY | 95 | =head1 HISTORY |
diff --git a/src/lib/libcrypto/doc/EVP_VerifyInit.pod b/src/lib/libcrypto/doc/EVP_VerifyInit.pod index c665ee2ebc..b0d3f8e4c9 100644 --- a/src/lib/libcrypto/doc/EVP_VerifyInit.pod +++ b/src/lib/libcrypto/doc/EVP_VerifyInit.pod | |||
@@ -83,7 +83,7 @@ L<evp(3)|evp(3)>, | |||
83 | L<EVP_SignInit(3)|EVP_SignInit(3)>, | 83 | L<EVP_SignInit(3)|EVP_SignInit(3)>, |
84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
86 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 86 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
87 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 87 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
88 | 88 | ||
89 | =head1 HISTORY | 89 | =head1 HISTORY |
diff --git a/src/lib/libcrypto/evp/c_all.c b/src/lib/libcrypto/evp/c_all.c index d794629ca8..5f9df3a7ad 100644 --- a/src/lib/libcrypto/evp/c_all.c +++ b/src/lib/libcrypto/evp/c_all.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: c_all.c,v 1.16 2015/02/10 11:45:09 jsing Exp $ */ | 1 | /* $OpenBSD: c_all.c,v 1.17 2015/06/20 01:07:24 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -265,9 +265,6 @@ OpenSSL_add_all_digests(void) | |||
265 | EVP_add_digest(EVP_streebog256()); | 265 | EVP_add_digest(EVP_streebog256()); |
266 | EVP_add_digest(EVP_streebog512()); | 266 | EVP_add_digest(EVP_streebog512()); |
267 | #endif | 267 | #endif |
268 | #if !defined(OPENSSL_NO_MDC2) && !defined(OPENSSL_NO_DES) | ||
269 | EVP_add_digest(EVP_mdc2()); | ||
270 | #endif | ||
271 | #ifndef OPENSSL_NO_RIPEMD | 268 | #ifndef OPENSSL_NO_RIPEMD |
272 | EVP_add_digest(EVP_ripemd160()); | 269 | EVP_add_digest(EVP_ripemd160()); |
273 | EVP_add_digest_alias(SN_ripemd160, "ripemd"); | 270 | EVP_add_digest_alias(SN_ripemd160, "ripemd"); |
diff --git a/src/lib/libcrypto/evp/evp.h b/src/lib/libcrypto/evp/evp.h index 330e01e0e6..57f8753ced 100644 --- a/src/lib/libcrypto/evp/evp.h +++ b/src/lib/libcrypto/evp/evp.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: evp.h,v 1.44 2015/02/10 11:45:09 jsing Exp $ */ | 1 | /* $OpenBSD: evp.h,v 1.45 2015/06/20 01:07:24 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -669,9 +669,6 @@ const EVP_MD *EVP_sha256(void); | |||
669 | const EVP_MD *EVP_sha384(void); | 669 | const EVP_MD *EVP_sha384(void); |
670 | const EVP_MD *EVP_sha512(void); | 670 | const EVP_MD *EVP_sha512(void); |
671 | #endif | 671 | #endif |
672 | #ifndef OPENSSL_NO_MDC2 | ||
673 | const EVP_MD *EVP_mdc2(void); | ||
674 | #endif | ||
675 | #ifndef OPENSSL_NO_RIPEMD | 672 | #ifndef OPENSSL_NO_RIPEMD |
676 | const EVP_MD *EVP_ripemd160(void); | 673 | const EVP_MD *EVP_ripemd160(void); |
677 | #endif | 674 | #endif |
diff --git a/src/lib/libcrypto/evp/m_mdc2.c b/src/lib/libcrypto/evp/m_mdc2.c deleted file mode 100644 index cfbdfc3852..0000000000 --- a/src/lib/libcrypto/evp/m_mdc2.c +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | /* $OpenBSD: m_mdc2.c,v 1.15 2014/07/13 09:30:02 miod Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | |||
61 | #include <openssl/opensslconf.h> | ||
62 | |||
63 | #ifndef OPENSSL_NO_MDC2 | ||
64 | |||
65 | #include <openssl/evp.h> | ||
66 | #include <openssl/mdc2.h> | ||
67 | #include <openssl/objects.h> | ||
68 | #include <openssl/x509.h> | ||
69 | |||
70 | #ifndef OPENSSL_NO_RSA | ||
71 | #include <openssl/rsa.h> | ||
72 | #endif | ||
73 | |||
74 | static int | ||
75 | init(EVP_MD_CTX *ctx) | ||
76 | { | ||
77 | return MDC2_Init(ctx->md_data); | ||
78 | } | ||
79 | |||
80 | static int | ||
81 | update(EVP_MD_CTX *ctx, const void *data, size_t count) | ||
82 | { | ||
83 | return MDC2_Update(ctx->md_data, data, count); | ||
84 | } | ||
85 | |||
86 | static int | ||
87 | final(EVP_MD_CTX *ctx, unsigned char *md) | ||
88 | { | ||
89 | return MDC2_Final(md, ctx->md_data); | ||
90 | } | ||
91 | |||
92 | static const EVP_MD mdc2_md = { | ||
93 | .type = NID_mdc2, | ||
94 | .pkey_type = NID_mdc2WithRSA, | ||
95 | .md_size = MDC2_DIGEST_LENGTH, | ||
96 | .flags = 0, | ||
97 | .init = init, | ||
98 | .update = update, | ||
99 | .final = final, | ||
100 | .copy = NULL, | ||
101 | .cleanup = NULL, | ||
102 | #ifndef OPENSSL_NO_RSA | ||
103 | .sign = (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, | ||
104 | .verify = (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, | ||
105 | .required_pkey_type = { | ||
106 | EVP_PKEY_RSA, EVP_PKEY_RSA2, 0, 0, | ||
107 | }, | ||
108 | #endif | ||
109 | .block_size = MDC2_BLOCK, | ||
110 | .ctx_size = sizeof(EVP_MD *) + sizeof(MDC2_CTX), | ||
111 | }; | ||
112 | |||
113 | const EVP_MD * | ||
114 | EVP_mdc2(void) | ||
115 | { | ||
116 | return (&mdc2_md); | ||
117 | } | ||
118 | #endif | ||
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile index 872391db3e..c968943cc0 100644 --- a/src/lib/libcrypto/man/Makefile +++ b/src/lib/libcrypto/man/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.20 2015/05/24 15:44:52 schwarze Exp $ | 1 | # $OpenBSD: Makefile,v 1.21 2015/06/20 01:07:24 doug Exp $ |
2 | 2 | ||
3 | .include <bsd.own.mk> # for NOMAN | 3 | .include <bsd.own.mk> # for NOMAN |
4 | 4 | ||
@@ -645,7 +645,6 @@ MLINKS+=\ | |||
645 | EVP_DigestInit.3 EVP_md2.3 \ | 645 | EVP_DigestInit.3 EVP_md2.3 \ |
646 | EVP_DigestInit.3 EVP_md5.3 \ | 646 | EVP_DigestInit.3 EVP_md5.3 \ |
647 | EVP_DigestInit.3 EVP_md_null.3 \ | 647 | EVP_DigestInit.3 EVP_md_null.3 \ |
648 | EVP_DigestInit.3 EVP_mdc2.3 \ | ||
649 | EVP_DigestInit.3 EVP_ripemd160.3 \ | 648 | EVP_DigestInit.3 EVP_ripemd160.3 \ |
650 | EVP_DigestInit.3 EVP_sha.3 \ | 649 | EVP_DigestInit.3 EVP_sha.3 \ |
651 | EVP_DigestInit.3 EVP_sha1.3 \ | 650 | EVP_DigestInit.3 EVP_sha1.3 \ |
diff --git a/src/lib/libcrypto/mdc2/mdc2.h b/src/lib/libcrypto/mdc2/mdc2.h deleted file mode 100644 index 9128eeb878..0000000000 --- a/src/lib/libcrypto/mdc2/mdc2.h +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2.h,v 1.13 2014/07/10 22:45:57 jsing Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #ifndef HEADER_MDC2_H | ||
60 | #define HEADER_MDC2_H | ||
61 | |||
62 | #include <openssl/opensslconf.h> | ||
63 | |||
64 | #include <openssl/des.h> | ||
65 | |||
66 | #ifdef __cplusplus | ||
67 | extern "C" { | ||
68 | #endif | ||
69 | |||
70 | #ifdef OPENSSL_NO_MDC2 | ||
71 | #error MDC2 is disabled. | ||
72 | #endif | ||
73 | |||
74 | #define MDC2_BLOCK 8 | ||
75 | #define MDC2_DIGEST_LENGTH 16 | ||
76 | |||
77 | typedef struct mdc2_ctx_st | ||
78 | { | ||
79 | unsigned int num; | ||
80 | unsigned char data[MDC2_BLOCK]; | ||
81 | DES_cblock h,hh; | ||
82 | int pad_type; /* either 1 or 2, default 1 */ | ||
83 | } MDC2_CTX; | ||
84 | |||
85 | |||
86 | int MDC2_Init(MDC2_CTX *c); | ||
87 | int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); | ||
88 | int MDC2_Final(unsigned char *md, MDC2_CTX *c); | ||
89 | unsigned char *MDC2(const unsigned char *d, size_t n, | ||
90 | unsigned char *md); | ||
91 | |||
92 | #ifdef __cplusplus | ||
93 | } | ||
94 | #endif | ||
95 | |||
96 | #endif | ||
97 | |||
diff --git a/src/lib/libcrypto/mdc2/mdc2_one.c b/src/lib/libcrypto/mdc2/mdc2_one.c deleted file mode 100644 index 8f922b1c7d..0000000000 --- a/src/lib/libcrypto/mdc2/mdc2_one.c +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2_one.c,v 1.4 2014/07/11 08:44:49 jsing Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | |||
61 | #include <openssl/crypto.h> | ||
62 | #include <openssl/mdc2.h> | ||
63 | |||
64 | unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md) | ||
65 | { | ||
66 | MDC2_CTX c; | ||
67 | static unsigned char m[MDC2_DIGEST_LENGTH]; | ||
68 | |||
69 | if (md == NULL) md=m; | ||
70 | if (!MDC2_Init(&c)) | ||
71 | return NULL; | ||
72 | MDC2_Update(&c,d,n); | ||
73 | MDC2_Final(md,&c); | ||
74 | OPENSSL_cleanse(&c,sizeof(c)); /* security consideration */ | ||
75 | return(md); | ||
76 | } | ||
77 | |||
diff --git a/src/lib/libcrypto/mdc2/mdc2dgst.c b/src/lib/libcrypto/mdc2/mdc2dgst.c deleted file mode 100644 index b4b0068d59..0000000000 --- a/src/lib/libcrypto/mdc2/mdc2dgst.c +++ /dev/null | |||
@@ -1,179 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2dgst.c,v 1.7 2014/10/28 07:35:59 jsg Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | #include <stdlib.h> | ||
61 | #include <string.h> | ||
62 | #include <openssl/crypto.h> | ||
63 | #include <openssl/des.h> | ||
64 | #include <openssl/mdc2.h> | ||
65 | |||
66 | #undef c2l | ||
67 | #define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ | ||
68 | l|=((DES_LONG)(*((c)++)))<< 8L, \ | ||
69 | l|=((DES_LONG)(*((c)++)))<<16L, \ | ||
70 | l|=((DES_LONG)(*((c)++)))<<24L) | ||
71 | |||
72 | #undef l2c | ||
73 | #define l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \ | ||
74 | *((c)++)=(unsigned char)(((l)>> 8L)&0xff), \ | ||
75 | *((c)++)=(unsigned char)(((l)>>16L)&0xff), \ | ||
76 | *((c)++)=(unsigned char)(((l)>>24L)&0xff)) | ||
77 | |||
78 | static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len); | ||
79 | int MDC2_Init(MDC2_CTX *c) | ||
80 | { | ||
81 | c->num=0; | ||
82 | c->pad_type=1; | ||
83 | memset(&(c->h[0]),0x52,MDC2_BLOCK); | ||
84 | memset(&(c->hh[0]),0x25,MDC2_BLOCK); | ||
85 | return 1; | ||
86 | } | ||
87 | |||
88 | int MDC2_Update(MDC2_CTX *c, const unsigned char *in, size_t len) | ||
89 | { | ||
90 | size_t i,j; | ||
91 | |||
92 | i=c->num; | ||
93 | if (i != 0) | ||
94 | { | ||
95 | if (i+len < MDC2_BLOCK) | ||
96 | { | ||
97 | /* partial block */ | ||
98 | memcpy(&(c->data[i]),in,len); | ||
99 | c->num+=(int)len; | ||
100 | return 1; | ||
101 | } | ||
102 | else | ||
103 | { | ||
104 | /* filled one */ | ||
105 | j=MDC2_BLOCK-i; | ||
106 | memcpy(&(c->data[i]),in,j); | ||
107 | len-=j; | ||
108 | in+=j; | ||
109 | c->num=0; | ||
110 | mdc2_body(c,&(c->data[0]),MDC2_BLOCK); | ||
111 | } | ||
112 | } | ||
113 | i=len&~((size_t)MDC2_BLOCK-1); | ||
114 | if (i > 0) mdc2_body(c,in,i); | ||
115 | j=len-i; | ||
116 | if (j > 0) | ||
117 | { | ||
118 | memcpy(&(c->data[0]),&(in[i]),j); | ||
119 | c->num=(int)j; | ||
120 | } | ||
121 | return 1; | ||
122 | } | ||
123 | |||
124 | static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len) | ||
125 | { | ||
126 | DES_LONG tin0,tin1; | ||
127 | DES_LONG ttin0,ttin1; | ||
128 | DES_LONG d[2],dd[2]; | ||
129 | DES_key_schedule k; | ||
130 | unsigned char *p; | ||
131 | size_t i; | ||
132 | |||
133 | for (i=0; i<len; i+=8) | ||
134 | { | ||
135 | c2l(in,tin0); d[0]=dd[0]=tin0; | ||
136 | c2l(in,tin1); d[1]=dd[1]=tin1; | ||
137 | c->h[0]=(c->h[0]&0x9f)|0x40; | ||
138 | c->hh[0]=(c->hh[0]&0x9f)|0x20; | ||
139 | |||
140 | DES_set_odd_parity(&c->h); | ||
141 | DES_set_key_unchecked(&c->h,&k); | ||
142 | DES_encrypt1(d,&k,1); | ||
143 | |||
144 | DES_set_odd_parity(&c->hh); | ||
145 | DES_set_key_unchecked(&c->hh,&k); | ||
146 | DES_encrypt1(dd,&k,1); | ||
147 | |||
148 | ttin0=tin0^dd[0]; | ||
149 | ttin1=tin1^dd[1]; | ||
150 | tin0^=d[0]; | ||
151 | tin1^=d[1]; | ||
152 | |||
153 | p=c->h; | ||
154 | l2c(tin0,p); | ||
155 | l2c(ttin1,p); | ||
156 | p=c->hh; | ||
157 | l2c(ttin0,p); | ||
158 | l2c(tin1,p); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | int MDC2_Final(unsigned char *md, MDC2_CTX *c) | ||
163 | { | ||
164 | unsigned int i; | ||
165 | int j; | ||
166 | |||
167 | i=c->num; | ||
168 | j=c->pad_type; | ||
169 | if ((i > 0) || (j == 2)) | ||
170 | { | ||
171 | if (j == 2) | ||
172 | c->data[i++]=0x80; | ||
173 | memset(&(c->data[i]),0,MDC2_BLOCK-i); | ||
174 | mdc2_body(c,c->data,MDC2_BLOCK); | ||
175 | } | ||
176 | memcpy(md,(char *)c->h,MDC2_BLOCK); | ||
177 | memcpy(&(md[MDC2_BLOCK]),(char *)c->hh,MDC2_BLOCK); | ||
178 | return 1; | ||
179 | } | ||
diff --git a/src/lib/libcrypto/opensslfeatures.h b/src/lib/libcrypto/opensslfeatures.h index 811fac610f..a0fcc0078e 100644 --- a/src/lib/libcrypto/opensslfeatures.h +++ b/src/lib/libcrypto/opensslfeatures.h | |||
@@ -6,6 +6,7 @@ | |||
6 | # define OPENSSL_NO_JPAKE | 6 | # define OPENSSL_NO_JPAKE |
7 | # define OPENSSL_NO_KRB5 | 7 | # define OPENSSL_NO_KRB5 |
8 | # define OPENSSL_NO_MD2 | 8 | # define OPENSSL_NO_MD2 |
9 | # define OPENSSL_NO_MDC2 | ||
9 | # define OPENSSL_NO_PSK | 10 | # define OPENSSL_NO_PSK |
10 | # define OPENSSL_NO_RC5 | 11 | # define OPENSSL_NO_RC5 |
11 | # define OPENSSL_NO_RFC3779 | 12 | # define OPENSSL_NO_RFC3779 |
diff --git a/src/lib/libcrypto/rsa/rsa_pmeth.c b/src/lib/libcrypto/rsa/rsa_pmeth.c index 09166e105b..0b648138ee 100644 --- a/src/lib/libcrypto/rsa/rsa_pmeth.c +++ b/src/lib/libcrypto/rsa/rsa_pmeth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_pmeth.c,v 1.16 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: rsa_pmeth.c,v 1.17 2015/06/20 01:07:25 doug Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -178,18 +178,7 @@ pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | |||
178 | return -1; | 178 | return -1; |
179 | } | 179 | } |
180 | 180 | ||
181 | if (EVP_MD_type(rctx->md) == NID_mdc2) { | 181 | if (rctx->pad_mode == RSA_X931_PADDING) { |
182 | unsigned int sltmp; | ||
183 | |||
184 | if (rctx->pad_mode != RSA_PKCS1_PADDING) | ||
185 | return -1; | ||
186 | ret = RSA_sign_ASN1_OCTET_STRING(NID_mdc2, tbs, tbslen, | ||
187 | sig, &sltmp, rsa); | ||
188 | |||
189 | if (ret <= 0) | ||
190 | return ret; | ||
191 | ret = sltmp; | ||
192 | } else if (rctx->pad_mode == RSA_X931_PADDING) { | ||
193 | if (!setup_tbuf(rctx, ctx)) | 182 | if (!setup_tbuf(rctx, ctx)) |
194 | return -1; | 183 | return -1; |
195 | memcpy(rctx->tbuf, tbs, tbslen); | 184 | memcpy(rctx->tbuf, tbs, tbslen); |
diff --git a/src/lib/libcrypto/rsa/rsa_sign.c b/src/lib/libcrypto/rsa/rsa_sign.c index a446b563b3..09d8ef329d 100644 --- a/src/lib/libcrypto/rsa/rsa_sign.c +++ b/src/lib/libcrypto/rsa/rsa_sign.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_sign.c,v 1.22 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_sign.c,v 1.23 2015/06/20 01:07:25 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -180,21 +180,6 @@ int_rsa_verify(int dtype, const unsigned char *m, unsigned int m_len, | |||
180 | if (i <= 0) | 180 | if (i <= 0) |
181 | goto err; | 181 | goto err; |
182 | 182 | ||
183 | /* | ||
184 | * Oddball MDC2 case: signature can be OCTET STRING. | ||
185 | * check for correct tag and length octets. | ||
186 | */ | ||
187 | if (dtype == NID_mdc2 && i == 18 && s[0] == 0x04 && s[1] == 0x10) { | ||
188 | if (rm) { | ||
189 | memcpy(rm, s + 2, 16); | ||
190 | *prm_len = 16; | ||
191 | ret = 1; | ||
192 | } else if (memcmp(m, s + 2, 16)) | ||
193 | RSAerr(RSA_F_INT_RSA_VERIFY, RSA_R_BAD_SIGNATURE); | ||
194 | else | ||
195 | ret = 1; | ||
196 | } | ||
197 | |||
198 | /* Special case: SSL signature */ | 183 | /* Special case: SSL signature */ |
199 | if (dtype == NID_md5_sha1) { | 184 | if (dtype == NID_md5_sha1) { |
200 | if (i != SSL_SIG_LENGTH || memcmp(s, m, SSL_SIG_LENGTH)) | 185 | if (i != SSL_SIG_LENGTH || memcmp(s, m, SSL_SIG_LENGTH)) |
diff --git a/src/lib/libssl/src/crypto/evp/c_all.c b/src/lib/libssl/src/crypto/evp/c_all.c index d794629ca8..5f9df3a7ad 100644 --- a/src/lib/libssl/src/crypto/evp/c_all.c +++ b/src/lib/libssl/src/crypto/evp/c_all.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: c_all.c,v 1.16 2015/02/10 11:45:09 jsing Exp $ */ | 1 | /* $OpenBSD: c_all.c,v 1.17 2015/06/20 01:07:24 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -265,9 +265,6 @@ OpenSSL_add_all_digests(void) | |||
265 | EVP_add_digest(EVP_streebog256()); | 265 | EVP_add_digest(EVP_streebog256()); |
266 | EVP_add_digest(EVP_streebog512()); | 266 | EVP_add_digest(EVP_streebog512()); |
267 | #endif | 267 | #endif |
268 | #if !defined(OPENSSL_NO_MDC2) && !defined(OPENSSL_NO_DES) | ||
269 | EVP_add_digest(EVP_mdc2()); | ||
270 | #endif | ||
271 | #ifndef OPENSSL_NO_RIPEMD | 268 | #ifndef OPENSSL_NO_RIPEMD |
272 | EVP_add_digest(EVP_ripemd160()); | 269 | EVP_add_digest(EVP_ripemd160()); |
273 | EVP_add_digest_alias(SN_ripemd160, "ripemd"); | 270 | EVP_add_digest_alias(SN_ripemd160, "ripemd"); |
diff --git a/src/lib/libssl/src/crypto/evp/evp.h b/src/lib/libssl/src/crypto/evp/evp.h index 330e01e0e6..57f8753ced 100644 --- a/src/lib/libssl/src/crypto/evp/evp.h +++ b/src/lib/libssl/src/crypto/evp/evp.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: evp.h,v 1.44 2015/02/10 11:45:09 jsing Exp $ */ | 1 | /* $OpenBSD: evp.h,v 1.45 2015/06/20 01:07:24 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -669,9 +669,6 @@ const EVP_MD *EVP_sha256(void); | |||
669 | const EVP_MD *EVP_sha384(void); | 669 | const EVP_MD *EVP_sha384(void); |
670 | const EVP_MD *EVP_sha512(void); | 670 | const EVP_MD *EVP_sha512(void); |
671 | #endif | 671 | #endif |
672 | #ifndef OPENSSL_NO_MDC2 | ||
673 | const EVP_MD *EVP_mdc2(void); | ||
674 | #endif | ||
675 | #ifndef OPENSSL_NO_RIPEMD | 672 | #ifndef OPENSSL_NO_RIPEMD |
676 | const EVP_MD *EVP_ripemd160(void); | 673 | const EVP_MD *EVP_ripemd160(void); |
677 | #endif | 674 | #endif |
diff --git a/src/lib/libssl/src/crypto/evp/m_mdc2.c b/src/lib/libssl/src/crypto/evp/m_mdc2.c deleted file mode 100644 index cfbdfc3852..0000000000 --- a/src/lib/libssl/src/crypto/evp/m_mdc2.c +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | /* $OpenBSD: m_mdc2.c,v 1.15 2014/07/13 09:30:02 miod Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | |||
61 | #include <openssl/opensslconf.h> | ||
62 | |||
63 | #ifndef OPENSSL_NO_MDC2 | ||
64 | |||
65 | #include <openssl/evp.h> | ||
66 | #include <openssl/mdc2.h> | ||
67 | #include <openssl/objects.h> | ||
68 | #include <openssl/x509.h> | ||
69 | |||
70 | #ifndef OPENSSL_NO_RSA | ||
71 | #include <openssl/rsa.h> | ||
72 | #endif | ||
73 | |||
74 | static int | ||
75 | init(EVP_MD_CTX *ctx) | ||
76 | { | ||
77 | return MDC2_Init(ctx->md_data); | ||
78 | } | ||
79 | |||
80 | static int | ||
81 | update(EVP_MD_CTX *ctx, const void *data, size_t count) | ||
82 | { | ||
83 | return MDC2_Update(ctx->md_data, data, count); | ||
84 | } | ||
85 | |||
86 | static int | ||
87 | final(EVP_MD_CTX *ctx, unsigned char *md) | ||
88 | { | ||
89 | return MDC2_Final(md, ctx->md_data); | ||
90 | } | ||
91 | |||
92 | static const EVP_MD mdc2_md = { | ||
93 | .type = NID_mdc2, | ||
94 | .pkey_type = NID_mdc2WithRSA, | ||
95 | .md_size = MDC2_DIGEST_LENGTH, | ||
96 | .flags = 0, | ||
97 | .init = init, | ||
98 | .update = update, | ||
99 | .final = final, | ||
100 | .copy = NULL, | ||
101 | .cleanup = NULL, | ||
102 | #ifndef OPENSSL_NO_RSA | ||
103 | .sign = (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, | ||
104 | .verify = (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, | ||
105 | .required_pkey_type = { | ||
106 | EVP_PKEY_RSA, EVP_PKEY_RSA2, 0, 0, | ||
107 | }, | ||
108 | #endif | ||
109 | .block_size = MDC2_BLOCK, | ||
110 | .ctx_size = sizeof(EVP_MD *) + sizeof(MDC2_CTX), | ||
111 | }; | ||
112 | |||
113 | const EVP_MD * | ||
114 | EVP_mdc2(void) | ||
115 | { | ||
116 | return (&mdc2_md); | ||
117 | } | ||
118 | #endif | ||
diff --git a/src/lib/libssl/src/crypto/mdc2/mdc2.h b/src/lib/libssl/src/crypto/mdc2/mdc2.h deleted file mode 100644 index 9128eeb878..0000000000 --- a/src/lib/libssl/src/crypto/mdc2/mdc2.h +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2.h,v 1.13 2014/07/10 22:45:57 jsing Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #ifndef HEADER_MDC2_H | ||
60 | #define HEADER_MDC2_H | ||
61 | |||
62 | #include <openssl/opensslconf.h> | ||
63 | |||
64 | #include <openssl/des.h> | ||
65 | |||
66 | #ifdef __cplusplus | ||
67 | extern "C" { | ||
68 | #endif | ||
69 | |||
70 | #ifdef OPENSSL_NO_MDC2 | ||
71 | #error MDC2 is disabled. | ||
72 | #endif | ||
73 | |||
74 | #define MDC2_BLOCK 8 | ||
75 | #define MDC2_DIGEST_LENGTH 16 | ||
76 | |||
77 | typedef struct mdc2_ctx_st | ||
78 | { | ||
79 | unsigned int num; | ||
80 | unsigned char data[MDC2_BLOCK]; | ||
81 | DES_cblock h,hh; | ||
82 | int pad_type; /* either 1 or 2, default 1 */ | ||
83 | } MDC2_CTX; | ||
84 | |||
85 | |||
86 | int MDC2_Init(MDC2_CTX *c); | ||
87 | int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); | ||
88 | int MDC2_Final(unsigned char *md, MDC2_CTX *c); | ||
89 | unsigned char *MDC2(const unsigned char *d, size_t n, | ||
90 | unsigned char *md); | ||
91 | |||
92 | #ifdef __cplusplus | ||
93 | } | ||
94 | #endif | ||
95 | |||
96 | #endif | ||
97 | |||
diff --git a/src/lib/libssl/src/crypto/mdc2/mdc2_one.c b/src/lib/libssl/src/crypto/mdc2/mdc2_one.c deleted file mode 100644 index 8f922b1c7d..0000000000 --- a/src/lib/libssl/src/crypto/mdc2/mdc2_one.c +++ /dev/null | |||
@@ -1,77 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2_one.c,v 1.4 2014/07/11 08:44:49 jsing Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | |||
61 | #include <openssl/crypto.h> | ||
62 | #include <openssl/mdc2.h> | ||
63 | |||
64 | unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md) | ||
65 | { | ||
66 | MDC2_CTX c; | ||
67 | static unsigned char m[MDC2_DIGEST_LENGTH]; | ||
68 | |||
69 | if (md == NULL) md=m; | ||
70 | if (!MDC2_Init(&c)) | ||
71 | return NULL; | ||
72 | MDC2_Update(&c,d,n); | ||
73 | MDC2_Final(md,&c); | ||
74 | OPENSSL_cleanse(&c,sizeof(c)); /* security consideration */ | ||
75 | return(md); | ||
76 | } | ||
77 | |||
diff --git a/src/lib/libssl/src/crypto/mdc2/mdc2dgst.c b/src/lib/libssl/src/crypto/mdc2/mdc2dgst.c deleted file mode 100644 index b4b0068d59..0000000000 --- a/src/lib/libssl/src/crypto/mdc2/mdc2dgst.c +++ /dev/null | |||
@@ -1,179 +0,0 @@ | |||
1 | /* $OpenBSD: mdc2dgst.c,v 1.7 2014/10/28 07:35:59 jsg Exp $ */ | ||
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This package is an SSL implementation written | ||
6 | * by Eric Young (eay@cryptsoft.com). | ||
7 | * The implementation was written so as to conform with Netscapes SSL. | ||
8 | * | ||
9 | * This library is free for commercial and non-commercial use as long as | ||
10 | * the following conditions are aheared to. The following conditions | ||
11 | * apply to all code found in this distribution, be it the RC4, RSA, | ||
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation | ||
13 | * included with this distribution is covered by the same copyright terms | ||
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). | ||
15 | * | ||
16 | * Copyright remains Eric Young's, and as such any Copyright notices in | ||
17 | * the code are not to be removed. | ||
18 | * If this package is used in a product, Eric Young should be given attribution | ||
19 | * as the author of the parts of the library used. | ||
20 | * This can be in the form of a textual message at program startup or | ||
21 | * in documentation (online or textual) provided with the package. | ||
22 | * | ||
23 | * Redistribution and use in source and binary forms, with or without | ||
24 | * modification, are permitted provided that the following conditions | ||
25 | * are met: | ||
26 | * 1. Redistributions of source code must retain the copyright | ||
27 | * notice, this list of conditions and the following disclaimer. | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | ||
29 | * notice, this list of conditions and the following disclaimer in the | ||
30 | * documentation and/or other materials provided with the distribution. | ||
31 | * 3. All advertising materials mentioning features or use of this software | ||
32 | * must display the following acknowledgement: | ||
33 | * "This product includes cryptographic software written by | ||
34 | * Eric Young (eay@cryptsoft.com)" | ||
35 | * The word 'cryptographic' can be left out if the rouines from the library | ||
36 | * being used are not cryptographic related :-). | ||
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | ||
38 | * the apps directory (application code) you must include an acknowledgement: | ||
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | ||
40 | * | ||
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | ||
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
51 | * SUCH DAMAGE. | ||
52 | * | ||
53 | * The licence and distribution terms for any publically available version or | ||
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | ||
55 | * copied and put under another distribution licence | ||
56 | * [including the GNU Public Licence.] | ||
57 | */ | ||
58 | |||
59 | #include <stdio.h> | ||
60 | #include <stdlib.h> | ||
61 | #include <string.h> | ||
62 | #include <openssl/crypto.h> | ||
63 | #include <openssl/des.h> | ||
64 | #include <openssl/mdc2.h> | ||
65 | |||
66 | #undef c2l | ||
67 | #define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ | ||
68 | l|=((DES_LONG)(*((c)++)))<< 8L, \ | ||
69 | l|=((DES_LONG)(*((c)++)))<<16L, \ | ||
70 | l|=((DES_LONG)(*((c)++)))<<24L) | ||
71 | |||
72 | #undef l2c | ||
73 | #define l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \ | ||
74 | *((c)++)=(unsigned char)(((l)>> 8L)&0xff), \ | ||
75 | *((c)++)=(unsigned char)(((l)>>16L)&0xff), \ | ||
76 | *((c)++)=(unsigned char)(((l)>>24L)&0xff)) | ||
77 | |||
78 | static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len); | ||
79 | int MDC2_Init(MDC2_CTX *c) | ||
80 | { | ||
81 | c->num=0; | ||
82 | c->pad_type=1; | ||
83 | memset(&(c->h[0]),0x52,MDC2_BLOCK); | ||
84 | memset(&(c->hh[0]),0x25,MDC2_BLOCK); | ||
85 | return 1; | ||
86 | } | ||
87 | |||
88 | int MDC2_Update(MDC2_CTX *c, const unsigned char *in, size_t len) | ||
89 | { | ||
90 | size_t i,j; | ||
91 | |||
92 | i=c->num; | ||
93 | if (i != 0) | ||
94 | { | ||
95 | if (i+len < MDC2_BLOCK) | ||
96 | { | ||
97 | /* partial block */ | ||
98 | memcpy(&(c->data[i]),in,len); | ||
99 | c->num+=(int)len; | ||
100 | return 1; | ||
101 | } | ||
102 | else | ||
103 | { | ||
104 | /* filled one */ | ||
105 | j=MDC2_BLOCK-i; | ||
106 | memcpy(&(c->data[i]),in,j); | ||
107 | len-=j; | ||
108 | in+=j; | ||
109 | c->num=0; | ||
110 | mdc2_body(c,&(c->data[0]),MDC2_BLOCK); | ||
111 | } | ||
112 | } | ||
113 | i=len&~((size_t)MDC2_BLOCK-1); | ||
114 | if (i > 0) mdc2_body(c,in,i); | ||
115 | j=len-i; | ||
116 | if (j > 0) | ||
117 | { | ||
118 | memcpy(&(c->data[0]),&(in[i]),j); | ||
119 | c->num=(int)j; | ||
120 | } | ||
121 | return 1; | ||
122 | } | ||
123 | |||
124 | static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len) | ||
125 | { | ||
126 | DES_LONG tin0,tin1; | ||
127 | DES_LONG ttin0,ttin1; | ||
128 | DES_LONG d[2],dd[2]; | ||
129 | DES_key_schedule k; | ||
130 | unsigned char *p; | ||
131 | size_t i; | ||
132 | |||
133 | for (i=0; i<len; i+=8) | ||
134 | { | ||
135 | c2l(in,tin0); d[0]=dd[0]=tin0; | ||
136 | c2l(in,tin1); d[1]=dd[1]=tin1; | ||
137 | c->h[0]=(c->h[0]&0x9f)|0x40; | ||
138 | c->hh[0]=(c->hh[0]&0x9f)|0x20; | ||
139 | |||
140 | DES_set_odd_parity(&c->h); | ||
141 | DES_set_key_unchecked(&c->h,&k); | ||
142 | DES_encrypt1(d,&k,1); | ||
143 | |||
144 | DES_set_odd_parity(&c->hh); | ||
145 | DES_set_key_unchecked(&c->hh,&k); | ||
146 | DES_encrypt1(dd,&k,1); | ||
147 | |||
148 | ttin0=tin0^dd[0]; | ||
149 | ttin1=tin1^dd[1]; | ||
150 | tin0^=d[0]; | ||
151 | tin1^=d[1]; | ||
152 | |||
153 | p=c->h; | ||
154 | l2c(tin0,p); | ||
155 | l2c(ttin1,p); | ||
156 | p=c->hh; | ||
157 | l2c(ttin0,p); | ||
158 | l2c(tin1,p); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | int MDC2_Final(unsigned char *md, MDC2_CTX *c) | ||
163 | { | ||
164 | unsigned int i; | ||
165 | int j; | ||
166 | |||
167 | i=c->num; | ||
168 | j=c->pad_type; | ||
169 | if ((i > 0) || (j == 2)) | ||
170 | { | ||
171 | if (j == 2) | ||
172 | c->data[i++]=0x80; | ||
173 | memset(&(c->data[i]),0,MDC2_BLOCK-i); | ||
174 | mdc2_body(c,c->data,MDC2_BLOCK); | ||
175 | } | ||
176 | memcpy(md,(char *)c->h,MDC2_BLOCK); | ||
177 | memcpy(&(md[MDC2_BLOCK]),(char *)c->hh,MDC2_BLOCK); | ||
178 | return 1; | ||
179 | } | ||
diff --git a/src/lib/libssl/src/crypto/opensslfeatures.h b/src/lib/libssl/src/crypto/opensslfeatures.h index 811fac610f..a0fcc0078e 100644 --- a/src/lib/libssl/src/crypto/opensslfeatures.h +++ b/src/lib/libssl/src/crypto/opensslfeatures.h | |||
@@ -6,6 +6,7 @@ | |||
6 | # define OPENSSL_NO_JPAKE | 6 | # define OPENSSL_NO_JPAKE |
7 | # define OPENSSL_NO_KRB5 | 7 | # define OPENSSL_NO_KRB5 |
8 | # define OPENSSL_NO_MD2 | 8 | # define OPENSSL_NO_MD2 |
9 | # define OPENSSL_NO_MDC2 | ||
9 | # define OPENSSL_NO_PSK | 10 | # define OPENSSL_NO_PSK |
10 | # define OPENSSL_NO_RC5 | 11 | # define OPENSSL_NO_RC5 |
11 | # define OPENSSL_NO_RFC3779 | 12 | # define OPENSSL_NO_RFC3779 |
diff --git a/src/lib/libssl/src/crypto/rsa/rsa_pmeth.c b/src/lib/libssl/src/crypto/rsa/rsa_pmeth.c index 09166e105b..0b648138ee 100644 --- a/src/lib/libssl/src/crypto/rsa/rsa_pmeth.c +++ b/src/lib/libssl/src/crypto/rsa/rsa_pmeth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_pmeth.c,v 1.16 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: rsa_pmeth.c,v 1.17 2015/06/20 01:07:25 doug Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -178,18 +178,7 @@ pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | |||
178 | return -1; | 178 | return -1; |
179 | } | 179 | } |
180 | 180 | ||
181 | if (EVP_MD_type(rctx->md) == NID_mdc2) { | 181 | if (rctx->pad_mode == RSA_X931_PADDING) { |
182 | unsigned int sltmp; | ||
183 | |||
184 | if (rctx->pad_mode != RSA_PKCS1_PADDING) | ||
185 | return -1; | ||
186 | ret = RSA_sign_ASN1_OCTET_STRING(NID_mdc2, tbs, tbslen, | ||
187 | sig, &sltmp, rsa); | ||
188 | |||
189 | if (ret <= 0) | ||
190 | return ret; | ||
191 | ret = sltmp; | ||
192 | } else if (rctx->pad_mode == RSA_X931_PADDING) { | ||
193 | if (!setup_tbuf(rctx, ctx)) | 182 | if (!setup_tbuf(rctx, ctx)) |
194 | return -1; | 183 | return -1; |
195 | memcpy(rctx->tbuf, tbs, tbslen); | 184 | memcpy(rctx->tbuf, tbs, tbslen); |
diff --git a/src/lib/libssl/src/crypto/rsa/rsa_sign.c b/src/lib/libssl/src/crypto/rsa/rsa_sign.c index a446b563b3..09d8ef329d 100644 --- a/src/lib/libssl/src/crypto/rsa/rsa_sign.c +++ b/src/lib/libssl/src/crypto/rsa/rsa_sign.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_sign.c,v 1.22 2014/07/11 08:44:49 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_sign.c,v 1.23 2015/06/20 01:07:25 doug Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -180,21 +180,6 @@ int_rsa_verify(int dtype, const unsigned char *m, unsigned int m_len, | |||
180 | if (i <= 0) | 180 | if (i <= 0) |
181 | goto err; | 181 | goto err; |
182 | 182 | ||
183 | /* | ||
184 | * Oddball MDC2 case: signature can be OCTET STRING. | ||
185 | * check for correct tag and length octets. | ||
186 | */ | ||
187 | if (dtype == NID_mdc2 && i == 18 && s[0] == 0x04 && s[1] == 0x10) { | ||
188 | if (rm) { | ||
189 | memcpy(rm, s + 2, 16); | ||
190 | *prm_len = 16; | ||
191 | ret = 1; | ||
192 | } else if (memcmp(m, s + 2, 16)) | ||
193 | RSAerr(RSA_F_INT_RSA_VERIFY, RSA_R_BAD_SIGNATURE); | ||
194 | else | ||
195 | ret = 1; | ||
196 | } | ||
197 | |||
198 | /* Special case: SSL signature */ | 183 | /* Special case: SSL signature */ |
199 | if (dtype == NID_md5_sha1) { | 184 | if (dtype == NID_md5_sha1) { |
200 | if (i != SSL_SIG_LENGTH || memcmp(s, m, SSL_SIG_LENGTH)) | 185 | if (i != SSL_SIG_LENGTH || memcmp(s, m, SSL_SIG_LENGTH)) |
diff --git a/src/lib/libssl/src/doc/apps/ca.pod b/src/lib/libssl/src/doc/apps/ca.pod index 7294627d16..ecbe7954d6 100644 --- a/src/lib/libssl/src/doc/apps/ca.pod +++ b/src/lib/libssl/src/doc/apps/ca.pod | |||
@@ -159,7 +159,7 @@ the number of days to certify the certificate for. | |||
159 | 159 | ||
160 | =item B<-md alg> | 160 | =item B<-md alg> |
161 | 161 | ||
162 | the message digest to use. Possible values include md5, sha1 and mdc2. | 162 | the message digest to use. Possible values include md5 and sha1. |
163 | This option also applies to CRLs. | 163 | This option also applies to CRLs. |
164 | 164 | ||
165 | =item B<-policy arg> | 165 | =item B<-policy arg> |
diff --git a/src/lib/libssl/src/doc/apps/dgst.pod b/src/lib/libssl/src/doc/apps/dgst.pod index da690472a3..d8b2abc6fb 100644 --- a/src/lib/libssl/src/doc/apps/dgst.pod +++ b/src/lib/libssl/src/doc/apps/dgst.pod | |||
@@ -2,12 +2,12 @@ | |||
2 | 2 | ||
3 | =head1 NAME | 3 | =head1 NAME |
4 | 4 | ||
5 | dgst, md5, md4, md2, sha1, sha, mdc2, ripemd160 - message digests | 5 | dgst, md5, md4, md2, sha1, sha, ripemd160 - message digests |
6 | 6 | ||
7 | =head1 SYNOPSIS | 7 | =head1 SYNOPSIS |
8 | 8 | ||
9 | B<openssl> B<dgst> | 9 | B<openssl> B<dgst> |
10 | [B<-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1>] | 10 | [B<-md5|-md4|-md2|-sha1|-sha|-ripemd160|-dss1>] |
11 | [B<-c>] | 11 | [B<-c>] |
12 | [B<-d>] | 12 | [B<-d>] |
13 | [B<-hex>] | 13 | [B<-hex>] |
@@ -22,7 +22,7 @@ B<openssl> B<dgst> | |||
22 | [B<-hmac key>] | 22 | [B<-hmac key>] |
23 | [B<file...>] | 23 | [B<file...>] |
24 | 24 | ||
25 | [B<md5|md4|md2|sha1|sha|mdc2|ripemd160>] | 25 | [B<md5|md4|md2|sha1|sha|ripemd160>] |
26 | [B<-c>] | 26 | [B<-c>] |
27 | [B<-d>] | 27 | [B<-d>] |
28 | [B<file...>] | 28 | [B<file...>] |
diff --git a/src/lib/libssl/src/doc/apps/openssl.pod b/src/lib/libssl/src/doc/apps/openssl.pod index c40b50d950..718d679dbb 100644 --- a/src/lib/libssl/src/doc/apps/openssl.pod +++ b/src/lib/libssl/src/doc/apps/openssl.pod | |||
@@ -271,10 +271,6 @@ MD2 Digest | |||
271 | 271 | ||
272 | MD5 Digest | 272 | MD5 Digest |
273 | 273 | ||
274 | =item B<mdc2> | ||
275 | |||
276 | MDC2 Digest | ||
277 | |||
278 | =item B<rmd160> | 274 | =item B<rmd160> |
279 | 275 | ||
280 | RMD-160 Digest | 276 | RMD-160 Digest |
diff --git a/src/lib/libssl/src/doc/apps/req.pod b/src/lib/libssl/src/doc/apps/req.pod index 4f6d64766d..3d556bd968 100644 --- a/src/lib/libssl/src/doc/apps/req.pod +++ b/src/lib/libssl/src/doc/apps/req.pod | |||
@@ -387,7 +387,7 @@ option. For compatibility B<encrypt_rsa_key> is an equivalent option. | |||
387 | =item B<default_md> | 387 | =item B<default_md> |
388 | 388 | ||
389 | This option specifies the digest algorithm to use. Possible values | 389 | This option specifies the digest algorithm to use. Possible values |
390 | include B<md5 sha1 mdc2>. If not present then MD5 is used. This | 390 | include B<md5 sha1>. If not present then MD5 is used. This |
391 | option can be overridden on the command line. | 391 | option can be overridden on the command line. |
392 | 392 | ||
393 | =item B<string_mask> | 393 | =item B<string_mask> |
diff --git a/src/lib/libssl/src/doc/apps/speed.pod b/src/lib/libssl/src/doc/apps/speed.pod index 1cd1998d16..c309d9a060 100644 --- a/src/lib/libssl/src/doc/apps/speed.pod +++ b/src/lib/libssl/src/doc/apps/speed.pod | |||
@@ -9,7 +9,6 @@ speed - test library performance | |||
9 | B<openssl speed> | 9 | B<openssl speed> |
10 | [B<-engine id>] | 10 | [B<-engine id>] |
11 | [B<md2>] | 11 | [B<md2>] |
12 | [B<mdc2>] | ||
13 | [B<md5>] | 12 | [B<md5>] |
14 | [B<hmac>] | 13 | [B<hmac>] |
15 | [B<sha1>] | 14 | [B<sha1>] |
diff --git a/src/lib/libssl/src/doc/apps/ts.pod b/src/lib/libssl/src/doc/apps/ts.pod index 1abf9df566..3075b6887a 100644 --- a/src/lib/libssl/src/doc/apps/ts.pod +++ b/src/lib/libssl/src/doc/apps/ts.pod | |||
@@ -12,7 +12,7 @@ B<-query> | |||
12 | [B<-config> configfile] | 12 | [B<-config> configfile] |
13 | [B<-data> file_to_hash] | 13 | [B<-data> file_to_hash] |
14 | [B<-digest> digest_bytes] | 14 | [B<-digest> digest_bytes] |
15 | [B<-md2>|B<-md4>|B<-md5>|B<-sha>|B<-sha1>|B<-mdc2>|B<-ripemd160>|B<...>] | 15 | [B<-md2>|B<-md4>|B<-md5>|B<-sha>|B<-sha1>|B<-ripemd160>|B<...>] |
16 | [B<-policy> object_id] | 16 | [B<-policy> object_id] |
17 | [B<-no_nonce>] | 17 | [B<-no_nonce>] |
18 | [B<-cert>] | 18 | [B<-cert>] |
@@ -124,7 +124,7 @@ per byte, the bytes optionally separated by colons (e.g. 1A:F6:01:... or | |||
124 | 1AF601...). The number of bytes must match the message digest algorithm | 124 | 1AF601...). The number of bytes must match the message digest algorithm |
125 | in use. (Optional) | 125 | in use. (Optional) |
126 | 126 | ||
127 | =item B<-md2>|B<-md4>|B<-md5>|B<-sha>|B<-sha1>|B<-mdc2>|B<-ripemd160>|B<...> | 127 | =item B<-md2>|B<-md4>|B<-md5>|B<-sha>|B<-sha1>|B<-ripemd160>|B<...> |
128 | 128 | ||
129 | The message digest to apply to the data file, it supports all the message | 129 | The message digest to apply to the data file, it supports all the message |
130 | digest algorithms that are supported by the openssl B<dgst> command. | 130 | digest algorithms that are supported by the openssl B<dgst> command. |
diff --git a/src/lib/libssl/src/doc/apps/x509.pod b/src/lib/libssl/src/doc/apps/x509.pod index e6ea9cd9d2..25471736a0 100644 --- a/src/lib/libssl/src/doc/apps/x509.pod +++ b/src/lib/libssl/src/doc/apps/x509.pod | |||
@@ -50,7 +50,7 @@ B<openssl> B<x509> | |||
50 | [B<-CAserial filename>] | 50 | [B<-CAserial filename>] |
51 | [B<-text>] | 51 | [B<-text>] |
52 | [B<-C>] | 52 | [B<-C>] |
53 | [B<-md2|-md5|-sha1|-mdc2>] | 53 | [B<-md2|-md5|-sha1>] |
54 | [B<-clrext>] | 54 | [B<-clrext>] |
55 | [B<-extfile filename>] | 55 | [B<-extfile filename>] |
56 | [B<-extensions section>] | 56 | [B<-extensions section>] |
@@ -96,7 +96,7 @@ if this option is not specified. | |||
96 | This specifies the output filename to write to or standard output by | 96 | This specifies the output filename to write to or standard output by |
97 | default. | 97 | default. |
98 | 98 | ||
99 | =item B<-md2|-md5|-sha1|-mdc2> | 99 | =item B<-md2|-md5|-sha1> |
100 | 100 | ||
101 | the digest to use. This affects any signing or display option that uses a message | 101 | the digest to use. This affects any signing or display option that uses a message |
102 | digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not | 102 | digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not |
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod index 4b48080b4a..ccb19fc0a7 100644 --- a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod +++ b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod | |||
@@ -8,7 +8,7 @@ EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, | |||
8 | EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, | 8 | EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, |
9 | EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, EVP_sha, | 9 | EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, EVP_sha, |
10 | EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, EVP_dss1, | 10 | EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, EVP_dss1, |
11 | EVP_mdc2, EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, | 11 | EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, |
12 | EVP_get_digestbyobj - EVP digest routines | 12 | EVP_get_digestbyobj - EVP digest routines |
13 | 13 | ||
14 | =head1 SYNOPSIS | 14 | =head1 SYNOPSIS |
@@ -53,7 +53,6 @@ EVP_get_digestbyobj - EVP digest routines | |||
53 | const EVP_MD *EVP_sha1(void); | 53 | const EVP_MD *EVP_sha1(void); |
54 | const EVP_MD *EVP_dss(void); | 54 | const EVP_MD *EVP_dss(void); |
55 | const EVP_MD *EVP_dss1(void); | 55 | const EVP_MD *EVP_dss1(void); |
56 | const EVP_MD *EVP_mdc2(void); | ||
57 | const EVP_MD *EVP_ripemd160(void); | 56 | const EVP_MD *EVP_ripemd160(void); |
58 | 57 | ||
59 | const EVP_MD *EVP_sha224(void); | 58 | const EVP_MD *EVP_sha224(void); |
@@ -134,8 +133,8 @@ algorithms are no longer linked this function is only retained for | |||
134 | compatibility reasons. | 133 | compatibility reasons. |
135 | 134 | ||
136 | EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(), | 135 | EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(), |
137 | EVP_sha384(), EVP_sha512(), EVP_mdc2() and EVP_ripemd160() return B<EVP_MD> | 136 | EVP_sha384(), EVP_sha512() and EVP_ripemd160() return B<EVP_MD> |
138 | structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512, MDC2 | 137 | structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512 |
139 | and RIPEMD160 digest algorithms respectively. | 138 | and RIPEMD160 digest algorithms respectively. |
140 | 139 | ||
141 | EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest | 140 | EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest |
@@ -165,7 +164,7 @@ EVP_MD_size(), EVP_MD_block_size(), EVP_MD_CTX_size() and | |||
165 | EVP_MD_CTX_block_size() return the digest or block size in bytes. | 164 | EVP_MD_CTX_block_size() return the digest or block size in bytes. |
166 | 165 | ||
167 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), | 166 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), |
168 | EVP_dss1(), EVP_mdc2() and EVP_ripemd160() return pointers to the | 167 | EVP_dss1() and EVP_ripemd160() return pointers to the |
169 | corresponding EVP_MD structures. | 168 | corresponding EVP_MD structures. |
170 | 169 | ||
171 | EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj() | 170 | EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj() |
@@ -253,7 +252,7 @@ digest name passed on the command line. | |||
253 | =head1 SEE ALSO | 252 | =head1 SEE ALSO |
254 | 253 | ||
255 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 254 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
256 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 255 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
257 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 256 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
258 | 257 | ||
259 | =head1 HISTORY | 258 | =head1 HISTORY |
@@ -266,7 +265,7 @@ EVP_MD_CTX_cleanup(), EVP_MD_CTX_destroy(), EVP_DigestInit_ex() | |||
266 | and EVP_DigestFinal_ex() were added in OpenSSL 0.9.7. | 265 | and EVP_DigestFinal_ex() were added in OpenSSL 0.9.7. |
267 | 266 | ||
268 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), | 267 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), |
269 | EVP_dss(), EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were | 268 | EVP_dss(), EVP_dss1() and EVP_ripemd160() were |
270 | changed to return truely const EVP_MD * in OpenSSL 0.9.7. | 269 | changed to return truely const EVP_MD * in OpenSSL 0.9.7. |
271 | 270 | ||
272 | The link between digests and signing algorithms was fixed in OpenSSL 1.0 and | 271 | The link between digests and signing algorithms was fixed in OpenSSL 1.0 and |
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestSignInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestSignInit.pod index e70b88a4a9..7fd4c22e79 100644 --- a/src/lib/libssl/src/doc/crypto/EVP_DigestSignInit.pod +++ b/src/lib/libssl/src/doc/crypto/EVP_DigestSignInit.pod | |||
@@ -74,7 +74,7 @@ which indicates the maximum possible signature for any set of parameters. | |||
74 | L<EVP_DigestVerifyInit(3)|EVP_DigestVerifyInit(3)>, | 74 | L<EVP_DigestVerifyInit(3)|EVP_DigestVerifyInit(3)>, |
75 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 75 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
76 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 76 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
77 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 77 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
78 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 78 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
79 | 79 | ||
80 | =head1 HISTORY | 80 | =head1 HISTORY |
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestVerifyInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestVerifyInit.pod index 9eebb15d22..0817cf0b02 100644 --- a/src/lib/libssl/src/doc/crypto/EVP_DigestVerifyInit.pod +++ b/src/lib/libssl/src/doc/crypto/EVP_DigestVerifyInit.pod | |||
@@ -69,7 +69,7 @@ will occur. | |||
69 | L<EVP_DigestSignInit(3)|EVP_DigestSignInit(3)>, | 69 | L<EVP_DigestSignInit(3)|EVP_DigestSignInit(3)>, |
70 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 70 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
71 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 71 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
72 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 72 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
73 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 73 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
74 | 74 | ||
75 | =head1 HISTORY | 75 | =head1 HISTORY |
diff --git a/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod b/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod index 5a1b67e006..9aafa3d63a 100644 --- a/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod +++ b/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod | |||
@@ -89,7 +89,7 @@ The previous two bugs are fixed in the newer EVP_SignDigest*() function. | |||
89 | L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, | 89 | L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, |
90 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 90 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
91 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 91 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
92 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 92 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
93 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 93 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
94 | 94 | ||
95 | =head1 HISTORY | 95 | =head1 HISTORY |
diff --git a/src/lib/libssl/src/doc/crypto/EVP_VerifyInit.pod b/src/lib/libssl/src/doc/crypto/EVP_VerifyInit.pod index c665ee2ebc..b0d3f8e4c9 100644 --- a/src/lib/libssl/src/doc/crypto/EVP_VerifyInit.pod +++ b/src/lib/libssl/src/doc/crypto/EVP_VerifyInit.pod | |||
@@ -83,7 +83,7 @@ L<evp(3)|evp(3)>, | |||
83 | L<EVP_SignInit(3)|EVP_SignInit(3)>, | 83 | L<EVP_SignInit(3)|EVP_SignInit(3)>, |
84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
86 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 86 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
87 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> | 87 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
88 | 88 | ||
89 | =head1 HISTORY | 89 | =head1 HISTORY |
diff --git a/src/lib/libssl/src/doc/crypto/crypto.pod b/src/lib/libssl/src/doc/crypto/crypto.pod index 2349014fce..bbd6ce9ea9 100644 --- a/src/lib/libssl/src/doc/crypto/crypto.pod +++ b/src/lib/libssl/src/doc/crypto/crypto.pod | |||
@@ -41,7 +41,7 @@ L<x509(3)|x509(3)>, L<x509v3(3)|x509v3(3)> | |||
41 | =item AUTHENTICATION CODES, HASH FUNCTIONS | 41 | =item AUTHENTICATION CODES, HASH FUNCTIONS |
42 | 42 | ||
43 | L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, L<md4(3)|md4(3)>, | 43 | L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, L<md4(3)|md4(3)>, |
44 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 44 | L<md5(3)|md5(3)>, L<ripemd(3)|ripemd(3)>, |
45 | L<sha(3)|sha(3)> | 45 | L<sha(3)|sha(3)> |
46 | 46 | ||
47 | =item AUXILIARY FUNCTIONS | 47 | =item AUXILIARY FUNCTIONS |