1 //==========================================================================
5 //==========================================================================
6 //####ECOSGPLCOPYRIGHTBEGIN####
7 // -------------------------------------------
8 // This file is part of eCos, the Embedded Configurable Operating System.
9 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
11 // eCos is free software; you can redistribute it and/or modify it under
12 // the terms of the GNU General Public License as published by the Free
13 // Software Foundation; either version 2 or (at your option) any later version.
15 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
16 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 // You should have received a copy of the GNU General Public License along
21 // with eCos; if not, write to the Free Software Foundation, Inc.,
22 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
24 // As a special exception, if other files instantiate templates or use macros
25 // or inline functions from this file, or you compile this file and link it
26 // with other works to produce a work based on this file, this file does not
27 // by itself cause the resulting work to be covered by the GNU General Public
28 // License. However the source code for this file must still be made available
29 // in accordance with section (3) of the GNU General Public License.
31 // This exception does not invalidate any other reasons why a work based on
32 // this file might be covered by the GNU General Public License.
34 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
35 // at http://sources.redhat.com/ecos/ecos-license/
36 // -------------------------------------------
37 //####ECOSGPLCOPYRIGHTEND####
38 //==========================================================================
39 #ifndef HAB_SUPER_ROOT_H
40 #define HAB_SUPER_ROOT_H
46 /*==================================================================================================
48 Header Name: hab_super_root.h
50 General Description: This module contains the HAB Super Root public keys.
52 ====================================================================================================*/
54 /* Generic type definitions */
55 typedef signed char INT8;
56 typedef unsigned char UINT8;
57 typedef short int INT16;
58 typedef unsigned short int UINT16;
60 typedef unsigned int UINT32;
61 typedef unsigned char BOOLEAN;
64 /* HAB specific type definitions */
65 typedef UINT8 *hab_bytestring;
66 typedef UINT16 hab_algorithm;
67 typedef UINT8 hab_index;
68 typedef UINT32 hab_address;
69 typedef UINT8 hab_certificate;
70 typedef UINT32 hab_data_length;
71 typedef UINT16 hab_int_length;
72 typedef UINT8 hab_error;
82 /* HAB specific definitions */
83 #define HAB_MAX_EXP_SIZE ((hab_int_length)4) /* Maximum size of RSA
88 /*==================================================================================================
90 ==================================================================================================*/
92 /*==================================================================================================
94 ==================================================================================================*/
96 /*==================================================================================================
97 STRUCTURES AND OTHER TYPEDEFS
98 ==================================================================================================*/
100 /* RSA public key structure */
103 UINT8 rsa_exponent[HAB_MAX_EXP_SIZE]; /* RSA public exponent */
104 const UINT8 *rsa_modulus; /* RSA modulus pointer */
105 hab_int_length exponent_size; /* Exponent size in bytes */
106 hab_int_length modulus_size; /* Modulus size in bytes */
107 BOOLEAN init_flag; /* Indicates if key initialised */
108 } hab_rsa_public_key;
110 /*==================================================================================================
111 GLOBAL VARIABLE DECLARATIONS
112 ==================================================================================================*/
113 /* Super Root keys */
114 extern const hab_rsa_public_key hab_super_root_key[];
120 #endif /* HAB_SUPER_ROOT_H */