diff options
| author | Wyllys Ingersoll <Wyllys.Ingersoll@Sun.COM> | 2010-06-28 16:04:11 -0700 |
|---|---|---|
| committer | Wyllys Ingersoll <Wyllys.Ingersoll@Sun.COM> | 2010-06-28 16:04:11 -0700 |
| commit | 4f14b0f29aa144cc03efdde5508ae126ae197acf (patch) | |
| tree | 5292d99c7ec8374d412d58116e7bbc7279e72067 /usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp | |
| parent | 1e49577a7fcde812700ded04431b49d67cc57d6d (diff) | |
| download | illumos-joyent-4f14b0f29aa144cc03efdde5508ae126ae197acf.tar.gz | |
PSARC 2010/195 PKCS11 KMS Provider
6944296 Solaris needs a PKCS#11 provider to allow access to KMS keystore functionality
Diffstat (limited to 'usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp')
| -rw-r--r-- | usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp b/usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp new file mode 100644 index 0000000000..6a2bfc9f43 --- /dev/null +++ b/usr/src/lib/libkmsagent/common/KMSAgentKeyCallout.cpp @@ -0,0 +1,43 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + */ + +#include "KMSAgentKeyCallout.h" + +#ifdef METAWARE +extern "C" int ecpt_get_pc_key_and_xor( unsigned char * key ); +#endif + +/** + * Hook function to get the key in the clear (XOR is presently used) + * @returns 0=ok, nonzero = bad + */ +int KMSAgentKeyCallout( unsigned char io_aKey[KMS_MAX_KEY_SIZE] ) +{ +#ifndef METAWARE + return 0; +#else + return ecpt_get_pc_key_and_xor( io_aKey ); +#endif +} |
