kmfapiP.h revision 9b37d29632d2cb262ba42f1d804f85fcb0aa3709
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * CDDL HEADER START
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * The contents of this file are subject to the terms of the
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * Common Development and Distribution License (the "License").
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * You may not use this file except in compliance with the License.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * See the License for the specific language governing permissions
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * and limitations under the License.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * When distributing Covered Code, include this CDDL HEADER in each
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * If applicable, add the following below this CDDL HEADER, with the
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * fields enclosed by brackets "[]" replaced with your own identifying
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * information: Portions Copyright [yyyy] [name of copyright owner]
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * CDDL HEADER END
02744e811b15322c5f109827a116c33bfe3438b5wyllys * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * Use is subject to license terms.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys#pragma ident "%Z%%M% %I% %E% SMI"
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysextern "C" {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Plugin function table */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllystypedef struct {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllystypedef struct {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllystypedef struct _KMF_PLUGIN_LIST {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllystypedef struct _kmf_handle {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * session handle opened by KMF_SelectToken() to talk
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * to a specific slot in Crypto framework. It is used
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys * by pkcs11 plugin module.
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys if (h == NULL) { \
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys#define KMF_PLUGIN_INIT_SYMBOL "KMF_Plugin_Initialize"
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys#endif /* !KMF_PLUGIN_PATH */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysVerifyDataWithKey(KMF_HANDLE_T, KMF_DATA *, KMF_ALGORITHM_INDEX, KMF_DATA *,
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysSignCsr(KMF_HANDLE_T, const KMF_DATA *, KMF_KEY_HANDLE *,
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_PLUGIN *FindPlugin(KMF_HANDLE_T, KMF_KEYSTORE_TYPE);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_OID *X509_AlgIdToAlgorithmOid(KMF_ALGORITHM_INDEX);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_ALGORITHM_INDEX X509_AlgorithmOidToAlgId(KMF_OID *);
02744e811b15322c5f109827a116c33bfe3438b5wyllysKMF_RETURN PKCS_AcquirePublicKeyHandle(CK_SESSION_HANDLE ckSession,
02744e811b15322c5f109827a116c33bfe3438b5wyllys const KMF_X509_SPKI *, CK_KEY_TYPE, CK_OBJECT_HANDLE *,
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_RETURN GetIDFromSPKI(KMF_X509_SPKI *, KMF_DATA *);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_RETURN GetSequenceContents(char *, size_t, char **, size_t *);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_X509_EXTENSION *FindExtn(KMF_X509_EXTENSIONS *, KMF_OID *);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_RETURN add_an_extension(KMF_X509_EXTENSIONS *exts,
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_RETURN set_key_usage_extension(KMF_X509_EXTENSIONS *,
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllysKMF_RETURN KMF_SelectToken(KMF_HANDLE_T, char *, int);
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Indexes into the key parts array for RSA keys */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Key part counts for RSA keys */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Key part counts for DSA keys */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Indexes into the key parts array for DSA keys */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys#define max(a, b) ((a) < (b) ? (b) : (a))
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys/* Maximum key parts for all algorithms */
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys (max(KMF_MAX_PUBLIC_KEY_PARTS, KMF_MAX_PRIVATE_KEY_PARTS))
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllystypedef enum {
99ebb4ca412cb0a19d77a3899a87c055b9c30fa8wyllys#endif /* _KMFAPIP_H */