xref: /onnv-gate/usr/src/lib/pkcs11/pkcs11_softtoken/common/softDSA.h (revision 12573:fb4ef506980f)
10Sstevel@tonic-gate /*
20Sstevel@tonic-gate  * CDDL HEADER START
30Sstevel@tonic-gate  *
40Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
56557Sfr41279  * Common Development and Distribution License (the "License").
66557Sfr41279  * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate  *
80Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate  * See the License for the specific language governing permissions
110Sstevel@tonic-gate  * and limitations under the License.
120Sstevel@tonic-gate  *
130Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate  *
190Sstevel@tonic-gate  * CDDL HEADER END
200Sstevel@tonic-gate  */
21*12573SDina.Nimeh@Sun.COM 
220Sstevel@tonic-gate /*
23*12573SDina.Nimeh@Sun.COM  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
240Sstevel@tonic-gate  */
250Sstevel@tonic-gate 
260Sstevel@tonic-gate #ifndef _SOFTDSA_H
270Sstevel@tonic-gate #define	_SOFTDSA_H
280Sstevel@tonic-gate 
290Sstevel@tonic-gate #ifdef __cplusplus
300Sstevel@tonic-gate extern "C" {
310Sstevel@tonic-gate #endif
320Sstevel@tonic-gate 
330Sstevel@tonic-gate #include <sys/types.h>
340Sstevel@tonic-gate #include <security/pkcs11t.h>
35*12573SDina.Nimeh@Sun.COM #include <padding.h>
36*12573SDina.Nimeh@Sun.COM #define	_DSA_FIPS_POST
37*12573SDina.Nimeh@Sun.COM #include <dsa_impl.h>
380Sstevel@tonic-gate #include "softObject.h"
390Sstevel@tonic-gate #include "softSession.h"
400Sstevel@tonic-gate 
410Sstevel@tonic-gate 
420Sstevel@tonic-gate typedef struct soft_dsa_ctx {
430Sstevel@tonic-gate 	soft_object_t *key;
440Sstevel@tonic-gate } soft_dsa_ctx_t;
450Sstevel@tonic-gate 
460Sstevel@tonic-gate 
470Sstevel@tonic-gate /*
480Sstevel@tonic-gate  * Function Prototypes.
490Sstevel@tonic-gate  */
500Sstevel@tonic-gate 
510Sstevel@tonic-gate /* DSA */
520Sstevel@tonic-gate 
530Sstevel@tonic-gate CK_RV soft_dsa_sign_verify_init_common(soft_session_t *, CK_MECHANISM_PTR,
540Sstevel@tonic-gate 	soft_object_t *, boolean_t);
550Sstevel@tonic-gate 
560Sstevel@tonic-gate CK_RV soft_dsa_verify(soft_session_t *, CK_BYTE_PTR, CK_ULONG,
570Sstevel@tonic-gate 	CK_BYTE_PTR, CK_ULONG);
580Sstevel@tonic-gate 
590Sstevel@tonic-gate CK_RV soft_dsa_sign(soft_session_t *, CK_BYTE_PTR, CK_ULONG,
600Sstevel@tonic-gate 	CK_BYTE_PTR, CK_ULONG_PTR);
610Sstevel@tonic-gate 
620Sstevel@tonic-gate CK_RV soft_dsa_genkey_pair(soft_object_t *, soft_object_t *);
630Sstevel@tonic-gate 
640Sstevel@tonic-gate CK_RV soft_dsa_digest_sign_common(soft_session_t *, CK_BYTE_PTR,
650Sstevel@tonic-gate     CK_ULONG, CK_BYTE_PTR, CK_ULONG_PTR, boolean_t);
660Sstevel@tonic-gate 
670Sstevel@tonic-gate CK_RV soft_dsa_digest_verify_common(soft_session_t *, CK_BYTE_PTR,
680Sstevel@tonic-gate     CK_ULONG, CK_BYTE_PTR, CK_ULONG, boolean_t);
690Sstevel@tonic-gate 
700Sstevel@tonic-gate #ifdef	__cplusplus
710Sstevel@tonic-gate }
720Sstevel@tonic-gate #endif
730Sstevel@tonic-gate 
740Sstevel@tonic-gate #endif /* _SOFTDSA_H */
75