1*12720SWyllys.Ingersoll@Sun.COM /*
2*12720SWyllys.Ingersoll@Sun.COM  * CDDL HEADER START
3*12720SWyllys.Ingersoll@Sun.COM  *
4*12720SWyllys.Ingersoll@Sun.COM  * The contents of this file are subject to the terms of the
5*12720SWyllys.Ingersoll@Sun.COM  * Common Development and Distribution License (the "License").
6*12720SWyllys.Ingersoll@Sun.COM  * You may not use this file except in compliance with the License.
7*12720SWyllys.Ingersoll@Sun.COM  *
8*12720SWyllys.Ingersoll@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*12720SWyllys.Ingersoll@Sun.COM  * or http://www.opensolaris.org/os/licensing.
10*12720SWyllys.Ingersoll@Sun.COM  * See the License for the specific language governing permissions
11*12720SWyllys.Ingersoll@Sun.COM  * and limitations under the License.
12*12720SWyllys.Ingersoll@Sun.COM  *
13*12720SWyllys.Ingersoll@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
14*12720SWyllys.Ingersoll@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*12720SWyllys.Ingersoll@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
16*12720SWyllys.Ingersoll@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
17*12720SWyllys.Ingersoll@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
18*12720SWyllys.Ingersoll@Sun.COM  *
19*12720SWyllys.Ingersoll@Sun.COM  * CDDL HEADER END
20*12720SWyllys.Ingersoll@Sun.COM  */
21*12720SWyllys.Ingersoll@Sun.COM 
22*12720SWyllys.Ingersoll@Sun.COM /*
23*12720SWyllys.Ingersoll@Sun.COM  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24*12720SWyllys.Ingersoll@Sun.COM  */
25*12720SWyllys.Ingersoll@Sun.COM 
26*12720SWyllys.Ingersoll@Sun.COM /** @file             KMSAgent.h
27*12720SWyllys.Ingersoll@Sun.COM  *  @defgroup         EncryptionAgent Encryption Agent API
28*12720SWyllys.Ingersoll@Sun.COM  *
29*12720SWyllys.Ingersoll@Sun.COM  * The Agent API is used to communicate with the KMS Appliance for the
30*12720SWyllys.Ingersoll@Sun.COM  * purpose of registering storage devices, obtaining device keys, and
31*12720SWyllys.Ingersoll@Sun.COM  * receiving notifications of storage device events such as destruction.
32*12720SWyllys.Ingersoll@Sun.COM  *
33*12720SWyllys.Ingersoll@Sun.COM  */
34*12720SWyllys.Ingersoll@Sun.COM #ifndef KMS_AGENT_KNOWN_ANSWER_TESTS_H
35*12720SWyllys.Ingersoll@Sun.COM #define KMS_AGENT_KNOWN_ANSWER_TESTS_H
36*12720SWyllys.Ingersoll@Sun.COM 
37*12720SWyllys.Ingersoll@Sun.COM /**
38*12720SWyllys.Ingersoll@Sun.COM  *  This function exercises both <code>aes_key_wrap</code> and <code>aes_key_unwrap</code>
39*12720SWyllys.Ingersoll@Sun.COM  *  in order to satisfy a FIPS 140-2 requirement for a known answer test, aka KAT.  Test
40*12720SWyllys.Ingersoll@Sun.COM  *  vectors from RFC 3394 are used for this test.
41*12720SWyllys.Ingersoll@Sun.COM  *  @return 0 on success, non-zero otherwise
42*12720SWyllys.Ingersoll@Sun.COM  */
43*12720SWyllys.Ingersoll@Sun.COM int KnownAnswerTestAESKeyWrap(void);
44*12720SWyllys.Ingersoll@Sun.COM 
45*12720SWyllys.Ingersoll@Sun.COM /**
46*12720SWyllys.Ingersoll@Sun.COM  *  This function exercises both <code>rijndael_encrypt</code> and <code>rijndael_decrypt</code>
47*12720SWyllys.Ingersoll@Sun.COM  *  in order to satisfy a FIPS 140-2 requirement for a known answer test, aka KAT.  Test
48*12720SWyllys.Ingersoll@Sun.COM  *  vectors from Infoguard are used for this test.
49*12720SWyllys.Ingersoll@Sun.COM  *  @return 0 if KAT passed, non-zero otherwise
50*12720SWyllys.Ingersoll@Sun.COM  */
51*12720SWyllys.Ingersoll@Sun.COM int KnownAnswerTestAESECB(void);
52*12720SWyllys.Ingersoll@Sun.COM 
53*12720SWyllys.Ingersoll@Sun.COM /**
54*12720SWyllys.Ingersoll@Sun.COM  *  This function exercises  #HMACBuffers
55*12720SWyllys.Ingersoll@Sun.COM  *  in order to satisfy a FIPS 140-2 requirement for a known answer test, aka KAT.  Test
56*12720SWyllys.Ingersoll@Sun.COM  *  vectors from Infoguard are used for this test.
57*12720SWyllys.Ingersoll@Sun.COM  *  @return 0 if KAT passed, non-zero otherwise
58*12720SWyllys.Ingersoll@Sun.COM  */
59*12720SWyllys.Ingersoll@Sun.COM int KnownAnswerTestHMACSHA1(void);
60*12720SWyllys.Ingersoll@Sun.COM 
61*12720SWyllys.Ingersoll@Sun.COM #endif
62*12720SWyllys.Ingersoll@Sun.COM 
63*12720SWyllys.Ingersoll@Sun.COM 
64