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
meta_DigestEncryptUpdate(CK_SESSION_HANDLE hSession,CK_BYTE_PTR pPart,CK_ULONG ulPartLen,CK_BYTE_PTR pEncryptedPart,CK_ULONG_PTR pulEncryptedPartLen)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
meta_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,CK_BYTE_PTR pEncryptedPart,CK_ULONG ulEncryptedPartLen,CK_BYTE_PTR pPart,CK_ULONG_PTR pulPartLen)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
meta_SignEncryptUpdate(CK_SESSION_HANDLE hSession,CK_BYTE_PTR pPart,CK_ULONG ulPartLen,CK_BYTE_PTR pEncryptedPart,CK_ULONG_PTR pulEncryptedPartLen)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
meta_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,CK_BYTE_PTR pEncryptedPart,CK_ULONG ulEncryptedPartLen,CK_BYTE_PTR pPart,CK_ULONG_PTR pulPartLen)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