13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #ifndef _SYS_WANBOOT_IMPL_H
28 #define _SYS_WANBOOT_IMPL_H
29
30 #pragma ident "%Z%%M% %I% %E% SMI"
31
32 #include <sys/types.h>
33 /* EXPORT DELETE START */
34 #include <aes.h>
35 #include <des3.h>
36 #include <hmac_sha1.h>
37 /* EXPORT DELETE END */
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /*
44 * PKCS12 passphrase used by WAN boot
45 */
46 #define WANBOOT_PASSPHRASE "boy with goldfish"
47
48 /*
49 * Key names used by OBP.
50 */
51 #define WANBOOT_DES3_KEY_NAME "wanboot-3des"
52 #define WANBOOT_AES_128_KEY_NAME "wanboot-aes"
53 #define WANBOOT_HMAC_SHA1_KEY_NAME "wanboot-hmac-sha1"
54 #define WANBOOT_MAXKEYNAMELEN sizeof (WANBOOT_HMAC_SHA1_KEY_NAME)
55
56 #define WANBOOT_MAXKEYLEN 1024 /* sized for RSA */
57
58 /* EXPORT DELETE START */
59 #define WANBOOT_MAXBLOCKLEN AES_BLOCK_SIZE
60 #define WANBOOT_HMAC_KEY_SIZE 20 /* size of key we use for HMAC SHA-1 */
61 /* EXPORT DELETE END */
62
63 struct wankeyio {
64 char wk_keyname[WANBOOT_MAXKEYNAMELEN];
65 uint_t wk_keysize;
66 union {
67 /* EXPORT DELETE START */
68 char hmac_sha1_key[WANBOOT_HMAC_KEY_SIZE];
69 char des3key[DES3_KEY_SIZE];
70 char aeskey[AES_128_KEY_SIZE];
71 /* EXPORT DELETE END */
72 char key[WANBOOT_MAXKEYLEN];
73 } wk_u;
74 };
75
76 /* EXPORT DELETE START */
77 #define wk_hmac_sha1_key wk_u.hmac_sha1_key
78 #define wk_3des_key wk_u.3des_key
79 #define wk_aes_key wk_u.aeskey
80 /* EXPORT DELETE END */
81
82 #define WANBOOT_SETKEY (('W' << 24) | ('A' << 16) | ('N' << 8) | 0)
83
84 #ifdef __cplusplus
85 }
86 #endif
87
88 #endif /* _SYS_WANBOOT_IMPL_H */
|
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #ifndef _SYS_WANBOOT_IMPL_H
28 #define _SYS_WANBOOT_IMPL_H
29
30 #pragma ident "%Z%%M% %I% %E% SMI"
31
32 #include <sys/types.h>
33 #include <aes.h>
34 #include <des3.h>
35 #include <hmac_sha1.h>
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 /*
42 * PKCS12 passphrase used by WAN boot
43 */
44 #define WANBOOT_PASSPHRASE "boy with goldfish"
45
46 /*
47 * Key names used by OBP.
48 */
49 #define WANBOOT_DES3_KEY_NAME "wanboot-3des"
50 #define WANBOOT_AES_128_KEY_NAME "wanboot-aes"
51 #define WANBOOT_HMAC_SHA1_KEY_NAME "wanboot-hmac-sha1"
52 #define WANBOOT_MAXKEYNAMELEN sizeof (WANBOOT_HMAC_SHA1_KEY_NAME)
53
54 #define WANBOOT_MAXKEYLEN 1024 /* sized for RSA */
55
56 #define WANBOOT_MAXBLOCKLEN AES_BLOCK_SIZE
57 #define WANBOOT_HMAC_KEY_SIZE 20 /* size of key we use for HMAC SHA-1 */
58
59 struct wankeyio {
60 char wk_keyname[WANBOOT_MAXKEYNAMELEN];
61 uint_t wk_keysize;
62 union {
63 char hmac_sha1_key[WANBOOT_HMAC_KEY_SIZE];
64 char des3key[DES3_KEY_SIZE];
65 char aeskey[AES_128_KEY_SIZE];
66 char key[WANBOOT_MAXKEYLEN];
67 } wk_u;
68 };
69
70 #define wk_hmac_sha1_key wk_u.hmac_sha1_key
71 #define wk_3des_key wk_u.3des_key
72 #define wk_aes_key wk_u.aeskey
73
74 #define WANBOOT_SETKEY (('W' << 24) | ('A' << 16) | ('N' << 8) | 0)
75
76 #ifdef __cplusplus
77 }
78 #endif
79
80 #endif /* _SYS_WANBOOT_IMPL_H */
|