OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
DER_Digest.h
Go to the documentation of this file.
1/* Copyright (c) 2005-2008,2010 Apple Inc. All Rights Reserved. */
2
3/*
4 * DER_Digest.h - DER encode a DigestInfo
5 *
6 * Created Nov. 9 2005 by dmitch
7 */
8
9#ifndef _DER_DIGEST_H_
10#define _DER_DIGEST_H_
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include "libDER.h"
17
18/*
19 * Create an encoded DigestInfo based on the specified SHA1 digest.
20 * The incoming digest must be 20 bytes long.
21 *
22 * Result is placed in caller's buffer, which must be at least of
23 * length DER_SHA1_DIGEST_INFO_LEN bytes.
24 *
25 * The *resultLen parameter is the available size in the result
26 * buffer on input, and the actual length of the encoded DigestInfo
27 * on output.
28 */
29#define DER_SHA1_DIGEST_LEN 20
30#define DER_SHA1_DIGEST_INFO_LEN 35
31
33 const DERByte *sha1Digest,
34 DERSize sha1DigestLen,
35 DERByte *result, /* encoded result RETURNED here */
36 DERSize *resultLen); /* IN/OUT */
37
38#define DER_SHA256_DIGEST_LEN 32
39#define DER_SHA256_DIGEST_INFO_LEN 51
40
42 const DERByte *sha256Digest,
43 DERSize sha256DigestLen,
44 DERByte *result, /* encoded result RETURNED here */
45 DERSize *resultLen); /* IN/OUT */
46
47/*
48 * Likewise, create an encoded DIgestInfo for specified MD5 or MD2 digest.
49 */
50#define DER_MD_DIGEST_LEN 16
51#define DER_MD_DIGEST_INFO_LEN 34
52
53typedef enum {
54 WD_MD2 = 1,
55 WD_MD5 = 2
57
59 WhichDigest whichDigest,
60 const DERByte *mdDigest,
61 DERSize mdDigestLen,
62 DERByte *result, /* encoded result RETURNED here */
63 DERSize *resultLen); /* IN/OUT */
64
65/* max sizes you'll need in the general cases */
66#define DER_MAX_DIGEST_LEN DER_SHA256_DIGEST_LEN
67#define DER_MAX_ENCODED_INFO_LEN DER_SHA256_DIGEST_INFO_LEN
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _DER_DIGEST_H_ */
74
WhichDigest
Definition DER_Digest.h:53
@ WD_MD5
Definition DER_Digest.h:55
@ WD_MD2
Definition DER_Digest.h:54
DERReturn DEREncodeSHA256DigestInfo(const DERByte *sha256Digest, DERSize sha256DigestLen, DERByte *result, DERSize *resultLen)
Definition DER_Digest.c:93
DERReturn DEREncodeMDDigestInfo(WhichDigest whichDigest, const DERByte *mdDigest, DERSize mdDigestLen, DERByte *result, DERSize *resultLen)
Definition DER_Digest.c:132
DERReturn DEREncodeSHA1DigestInfo(const DERByte *sha1Digest, DERSize sha1DigestLen, DERByte *result, DERSize *resultLen)
Definition DER_Digest.c:55
DERReturn
Definition libDER.h:20
size_t DERSize
uint8_t DERByte