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