author | Misaki Miyashita <Misaki.Miyashita@Oracle.COM> |
Fri, 15 Feb 2013 07:58:18 -0800 | |
changeset 1158 | 227137d9fbce |
parent 932 | components/openssl/openssl-1.0.0/engines/t4/eng_t4_md5.c@a3abdb042ced |
permissions | -rw-r--r-- |
603
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
1 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
2 |
* This product includes cryptographic software developed by the OpenSSL |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
3 |
* Project for use in the OpenSSL Toolkit (http://www.openssl.org/). This |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
4 |
* product includes cryptographic software written by Eric Young |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
5 |
* ([email protected]). |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
6 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
7 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
8 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
9 |
* ==================================================================== |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
10 |
* Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
11 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
12 |
* Redistribution and use in source and binary forms, with or without |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
13 |
* modification, are permitted provided that the following conditions |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
14 |
* are met: |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
15 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
16 |
* 1. Redistributions of source code must retain the above copyright |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
17 |
* notice, this list of conditions and the following disclaimer. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
18 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
19 |
* 2. Redistributions in binary form must reproduce the above copyright |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
20 |
* notice, this list of conditions and the following disclaimer in |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
21 |
* the documentation and/or other materials provided with the |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
22 |
* distribution. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
23 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
24 |
* 3. All advertising materials mentioning features or use of this |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
25 |
* software must display the following acknowledgment: |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
26 |
* "This product includes software developed by the OpenSSL Project |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
27 |
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)" |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
28 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
29 |
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
30 |
* endorse or promote products derived from this software without |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
31 |
* prior written permission. For written permission, please contact |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
32 |
* [email protected]. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
33 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
34 |
* 5. Products derived from this software may not be called "OpenSSL" |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
35 |
* nor may "OpenSSL" appear in their names without prior written |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
36 |
* permission of the OpenSSL Project. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
37 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
38 |
* 6. Redistributions of any form whatsoever must retain the following |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
39 |
* acknowledgment: |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
40 |
* "This product includes software developed by the OpenSSL Project |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
41 |
* for use in the OpenSSL Toolkit (http://www.openssl.org/)" |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
42 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
43 |
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
44 |
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
45 |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
46 |
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
47 |
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
48 |
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
49 |
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
50 |
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
51 |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
52 |
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
53 |
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
54 |
* OF THE POSSIBILITY OF SUCH DAMAGE. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
55 |
* ==================================================================== |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
56 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
57 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
58 |
/* |
932
a3abdb042ced
7174063 core dump in apache SSL in t4_digest_final_md5
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
603
diff
changeset
|
59 |
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. |
603
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
60 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
61 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
62 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
63 |
* This engine supports SPARC microprocessors that provide AES and other |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
64 |
* cipher and hash instructions, such as the T4 microprocessor. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
65 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
66 |
* This file implements the MD5 message digest operations. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
67 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
68 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
69 |
#include <openssl/opensslconf.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
70 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
71 |
#if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_MD_T4) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
72 |
#ifndef OPENSSL_NO_MD5 |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
73 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
74 |
#include <sys/types.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
75 |
#include <stdlib.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
76 |
#include <string.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
77 |
#include <errno.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
78 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
79 |
#include <openssl/aes.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
80 |
#include <openssl/engine.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
81 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
82 |
* Solaris sys/md5.h and OpenSSL openssl/md5.h both define MD5_CTX. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
83 |
* The OpenSSL MD5_CTX has an extra "num" field at the end. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
84 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
85 |
#include <openssl/md5.h> |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
86 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
87 |
#if (defined(sun4v) || defined(__sparcv9) || defined(__sparcv8plus) || \ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
88 |
defined(__sparcv8)) && !defined(OPENSSL_NO_ASM) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
89 |
#define COMPILE_HW_T4 |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
90 |
#endif |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
91 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
92 |
#ifdef COMPILE_HW_T4 |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
93 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
94 |
/* Assembly language function; replaces C function md5_block_data_order(): */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
95 |
extern void t4_md5_multiblock(MD5_CTX *ctx, const uint8_t *input, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
96 |
unsigned int input_length_in_blocks); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
97 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
98 |
/* Formal declaration for functions in EVP_MD structure */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
99 |
int t4_digest_init_md5(EVP_MD_CTX *ctx); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
100 |
int t4_digest_update_md5(EVP_MD_CTX *ctx, const void *data, size_t count); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
101 |
int t4_digest_final_md5(EVP_MD_CTX *ctx, unsigned char *md); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
102 |
int t4_digest_copy_md5(EVP_MD_CTX *to, const EVP_MD_CTX *from); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
103 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
104 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
105 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
106 |
* MD5 Message Digests |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
107 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
108 |
* OpenSSL's libcrypto EVP stuff. This is how this engine gets wired to EVP. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
109 |
* EVP_MD is defined in evp.h. To maintain binary compatibility the |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
110 |
* definition cannot be modified. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
111 |
* Stuff specific to the t4 engine is kept in t4_cipher_ctx_t, which is |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
112 |
* pointed to by the last field, app_data. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
113 |
* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
114 |
* Fields: type, pkey_type, md_size, flags, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
115 |
* init(), update(), final(), |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
116 |
* copy(), cleanup(), sign(), verify(), |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
117 |
* required_pkey_type, block_size, ctx_size, md5_ctrl() |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
118 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
119 |
const EVP_MD t4_md5 = { |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
120 |
NID_md5, NID_md5WithRSAEncryption, MD5_DIGEST_LENGTH, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
121 |
0, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
122 |
t4_digest_init_md5, t4_digest_update_md5, t4_digest_final_md5, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
123 |
t4_digest_copy_md5, NULL, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
124 |
EVP_PKEY_RSA_method, MD5_CBLOCK, |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
125 |
sizeof (MD5_CTX), NULL |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
126 |
}; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
127 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
128 |
/* These functions are implemented in md32_common.h: */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
129 |
static int t4_md5_update(MD5_CTX *c, const void *data_, size_t len); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
130 |
static void t4_md5_transform(MD5_CTX *c, const unsigned char *data); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
131 |
static int t4_md5_final(unsigned char *md, MD5_CTX *c); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
132 |
#pragma inline(t4_md5_update, t4_md5_transform, t4_md5_final) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
133 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
134 |
#define DATA_ORDER_IS_LITTLE_ENDIAN |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
135 |
/* HASH_LONG/MD5_LONG is a 32-bit unsigned: */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
136 |
#define HASH_LONG MD5_LONG |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
137 |
#define HASH_CTX MD5_CTX |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
138 |
#define HASH_CBLOCK MD5_CBLOCK |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
139 |
#define HASH_UPDATE t4_md5_update |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
140 |
#define HASH_TRANSFORM t4_md5_transform |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
141 |
#define HASH_FINAL t4_md5_final |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
142 |
#define HASH_BLOCK_DATA_ORDER t4_md5_multiblock |
932
a3abdb042ced
7174063 core dump in apache SSL in t4_digest_final_md5
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
603
diff
changeset
|
143 |
/* Hash is already byte-swapped as Little Endian for SPARC T4: */ |
a3abdb042ced
7174063 core dump in apache SSL in t4_digest_final_md5
Ferenc Rakoczi <Ferenc.Rakoczi@Sun.COM>
parents:
603
diff
changeset
|
144 |
#define HASH_MAKE_STRING(c, s) memcpy((s), (c), MD5_DIGEST_LENGTH); |
603
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
145 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
146 |
/* This defines HASH_UPDATE, HASH_TRANSFORM, HASH_FINAL functions: */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
147 |
#include "md32_common.h" |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
148 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
149 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
150 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
151 |
* MD5 functions (RFC 1321 The MD5 Message-Digest Algorithm) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
152 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
153 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
154 |
int |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
155 |
t4_digest_init_md5(EVP_MD_CTX *ctx) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
156 |
{ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
157 |
MD5_CTX *c = (MD5_CTX *)ctx->md_data; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
158 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
159 |
/* Optimization: don't call memset(c, 0,...) or initialize c->data[] */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
160 |
c->Nl = c->Nh = c->num = 0; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
161 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
162 |
/* Big Endian for T4 */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
163 |
c->A = 0x01234567U; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
164 |
c->B = 0x89abcdefU; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
165 |
c->C = 0xfedcba98U; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
166 |
c->D = 0x76543210U; |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
167 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
168 |
return (1); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
169 |
} |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
170 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
171 |
/* |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
172 |
* Continue MD5 digest operation, using the message block to update context. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
173 |
* MD5 crunches in 64-byte blocks. |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
174 |
*/ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
175 |
int |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
176 |
t4_digest_update_md5(EVP_MD_CTX *ctx, const void *data, size_t len) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
177 |
{ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
178 |
return (t4_md5_update((MD5_CTX *)ctx->md_data, data, len)); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
179 |
} |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
180 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
181 |
/* End MD5 digest operation, finalizing message digest and zeroing context. */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
182 |
int |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
183 |
t4_digest_final_md5(EVP_MD_CTX *ctx, unsigned char *md) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
184 |
{ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
185 |
return (t4_md5_final(md, (MD5_CTX *)ctx->md_data)); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
186 |
} |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
187 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
188 |
/* Required for Engine API */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
189 |
int |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
190 |
t4_digest_copy_md5(EVP_MD_CTX *to, const EVP_MD_CTX *from) |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
191 |
{ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
192 |
if ((to->md_data != NULL) && (from->md_data != NULL)) { |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
193 |
(void) memcpy(to->md_data, from->md_data, sizeof (MD5_CTX)); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
194 |
} |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
195 |
return (1); |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
196 |
} |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
197 |
|
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
198 |
#endif /* COMPILE_HW_T4 */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
199 |
#endif /* !OPENSSL_NO_MD5 */ |
1b966e9a6b03
7069023 OpenSSL t4 engine improvements: des, 3des, sha-224/384, and remove proprietary code
Dan Anderson <dan.anderson@oracle.com>
parents:
diff
changeset
|
200 |
#endif /* !OPENSSL_NO_HW && !OPENSSL_NO_HW_MD_T4 */ |