]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_cryptkit/lib/HmacSha1Legacy.h
Security-59306.11.20.tar.gz
[apple/security.git] / OSX / libsecurity_cryptkit / lib / HmacSha1Legacy.h
1 /*
2 * Copyright (c) 2000-2001,2011-2014 Apple Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19 /*
20 File: HmacSha1Legacy.h
21 Contains: HMAC/SHA1, bug-for-bug compatible a legacy implementation.
22 Copyright (c) 2001,2011-2014 Apple Inc. All Rights Reserved.
23 */
24 #ifndef __HMAC_SHA1_LEGACY__
25 #define __HMAC_SHA1_LEGACY__
26
27 #if !defined(__MACH__)
28 #include <ckconfig.h>
29 #else
30 #include <security_cryptkit/ckconfig.h>
31 #endif
32
33 #include <MacTypes.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /*
40 * This version is bug-for-bug compatible with the HMACSHA1 implementation in
41 * an old crypto library.
42 */
43 struct hmacLegacyContext;
44 typedef struct hmacLegacyContext *hmacLegacyContextRef;
45
46 hmacLegacyContextRef hmacLegacyAlloc(void);
47 void hmacLegacyFree(
48 hmacLegacyContextRef hmac);
49 OSStatus hmacLegacyInit(
50 hmacLegacyContextRef hmac,
51 const void *keyPtr,
52 UInt32 keyLen);
53 OSStatus hmacLegacyUpdate(
54 hmacLegacyContextRef hmac,
55 const void *textPtr,
56 UInt32 textLen);
57 OSStatus hmacLegacyFinal(
58 hmacLegacyContextRef hmac,
59 void *resultPtr); // caller mallocs, must be kSHA1DigestSize bytes
60
61 #ifdef __cplusplus
62 }
63 #endif
64
65 #endif /* __HMAC_SHA1_LEGACY__ */