xref: /titanic_44/usr/src/lib/libwanbootutil/common/key_xdr.x (revision 0dc2366f7b9f9f36e10909b1e95edbf2a261c2ac)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
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 2003 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 /* #ident	"%Z%%M%	%I%	%E% SMI" */
28 
29 /*
30  * The formal definition of OIDs comes from ITU-T recommendation X.208
31  */
32 const	WBKU_AES_128_OID = "2.16.840.1.101.3.4.1.2";
33 const	WBKU_DES3_OID = "1.3.6.1.4.1.4929.1.8";
34 const	WBKU_HMAC_SHA1_OID = "1.3.6.1.5.5.8.1.2";
35 const	WBKU_RSA_OID = "1.2.840.113549.1.1.1";
36 
37 const	WBKU_MAX_KEYLEN = 1024;
38 
39 struct wbku_key {
40 	bool	wk_master;
41 	string	wk_oid<>;
42 	opaque	KEYDATA<WBKU_MAX_KEYLEN>;
43 };
44 
45 #ifdef	RPC_HDR
46 %#define wk_key_len KEYDATA.KEYDATA_len
47 %#define wk_key_val KEYDATA.KEYDATA_val
48 #endif	/* RPC_HDR */
49 
50 /*
51  * Allow one entry for each key that can be in a keystore at
52  * the same time.  There can be one AES key, one 3DES key,
53  * two HMAC SHA-1 values (one master and one for the client) and one RSA
54  * private key. The master key is a HMAC SHA-1 master key used to
55  * derive a per-client HMAC SHA-1 key as described in RFC 3118, Appendix A.
56  */
57 typedef struct wbku_key wbku_keystore<5>;
58