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 /** 27*12720SWyllys.Ingersoll@Sun.COM * \file KMSAgentKeyCallout.h 28*12720SWyllys.Ingersoll@Sun.COM * 29*12720SWyllys.Ingersoll@Sun.COM */ 30*12720SWyllys.Ingersoll@Sun.COM 31*12720SWyllys.Ingersoll@Sun.COM #ifndef KMSAGENT_KEYCALLOUT_H 32*12720SWyllys.Ingersoll@Sun.COM #define KMSAGENT_KEYCALLOUT_H 33*12720SWyllys.Ingersoll@Sun.COM 34*12720SWyllys.Ingersoll@Sun.COM #include "KMSAgent.h" 35*12720SWyllys.Ingersoll@Sun.COM 36*12720SWyllys.Ingersoll@Sun.COM /** 37*12720SWyllys.Ingersoll@Sun.COM * Behavior is up to customizers of the KMS Agent reference implementation. 38*12720SWyllys.Ingersoll@Sun.COM * A possible usage of this function is to encrypt the plaintext 39*12720SWyllys.Ingersoll@Sun.COM * key value. This function will be invoked by the following KMS Agent API 40*12720SWyllys.Ingersoll@Sun.COM * functions upon successful receipt of a key from a KMS transaction: 41*12720SWyllys.Ingersoll@Sun.COM * <ul> 42*12720SWyllys.Ingersoll@Sun.COM * <li>KMSAgent_CreateKey 43*12720SWyllys.Ingersoll@Sun.COM * <li>KMSAgent_RetrieveKey 44*12720SWyllys.Ingersoll@Sun.COM * <li>KMSAgent_RetrieveDataUnitKeys - once for each key retrieved 45*12720SWyllys.Ingersoll@Sun.COM * <li>KMSAgent_RetrieveProtectAndProcessKey 46*12720SWyllys.Ingersoll@Sun.COM * </ul> 47*12720SWyllys.Ingersoll@Sun.COM * 48*12720SWyllys.Ingersoll@Sun.COM * @param io_pKey a plaintext key 49*12720SWyllys.Ingersoll@Sun.COM * @return 0 if success 50*12720SWyllys.Ingersoll@Sun.COM */ 51*12720SWyllys.Ingersoll@Sun.COM int KMSAgentKeyCallout( unsigned char io_aKey[KMS_MAX_KEY_SIZE] ); 52*12720SWyllys.Ingersoll@Sun.COM 53*12720SWyllys.Ingersoll@Sun.COM 54*12720SWyllys.Ingersoll@Sun.COM #endif 55*12720SWyllys.Ingersoll@Sun.COM 56