Home | History | Annotate | Download | only in common
      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 2004 Sun Microsystems, Inc.  All rights reserved.
     24  * Use is subject to license terms.
     25  */
     26 
     27 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     28 
     29 /*
     30  * Dual-Function Cryptographic Functions
     31  * (as defined in PKCS#11 spec section 11.13)
     32  *
     33  * These functions will not be supported in the this release.
     34  * A call to these functions returns CKR_FUNCTION_NOT_SUPPORTED.
     35  *
     36  * Providing the support for dual-function crypto functions is
     37  * not trivial.  C_FooInit() need to be called for the 2 crypto
     38  * operations before any of these function can be called.
     39  * When C_FooInit() is called, metaslot doesn't know if it is going
     40  * to do dual-function crypto or single crypto operation.
     41  * So, it has no way to pick the slot that supports both the mechanism
     42  * it specified and supports dual-functions.
     43  *
     44  * In order for these dual functions to be supported in the future,
     45  * metaslot need to simulate the dual-function crypto operations
     46  * when both operations are not lucky enough be to initialized in
     47  * the same slots that supports dual-functions.
     48  */
     49 
     50 #include "metaGlobal.h"
     51 
     52 /*
     53  * meta_DigestEncryptUpdate
     54  *
     55  */
     56 /*ARGSUSED*/
     57 CK_RV
     58 meta_DigestEncryptUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
     59     CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
     60     CK_ULONG_PTR pulEncryptedPartLen)
     61 {
     62 	return (CKR_FUNCTION_NOT_SUPPORTED);
     63 }
     64 
     65 /*
     66  * meta_DecryptDigestUpdate
     67  *
     68  */
     69 /*ARGSUSED*/
     70 CK_RV
     71 meta_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,
     72     CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen,
     73     CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
     74 {
     75 	return (CKR_FUNCTION_NOT_SUPPORTED);
     76 }
     77 
     78 /*
     79  * meta_SignEncryptUpdate
     80  *
     81  */
     82 /*ARGSUSED*/
     83 CK_RV
     84 meta_SignEncryptUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
     85     CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
     86     CK_ULONG_PTR pulEncryptedPartLen)
     87 {
     88 	return (CKR_FUNCTION_NOT_SUPPORTED);
     89 }
     90 
     91 /*
     92  * meta_DecryptVerifyUpdate
     93  *
     94  */
     95 /*ARGSUSED*/
     96 CK_RV
     97 meta_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
     98     CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen,
     99     CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
    100 {
    101 	return (CKR_FUNCTION_NOT_SUPPORTED);
    102 }
    103