p11_crypt.c revision 936
936N/A * Portions Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. 0N/A/* Copyright (c) 2002 Graz University of Technology. All rights reserved. 0N/A * Redistribution and use in source and binary forms, with or without 0N/A * modification, are permitted provided that the following conditions are met: 0N/A * 1. Redistributions of source code must retain the above copyright notice, 0N/A * this list of conditions and the following disclaimer. 0N/A * 2. Redistributions in binary form must reproduce the above copyright notice, 0N/A * this list of conditions and the following disclaimer in the documentation 0N/A * and/or other materials provided with the distribution. 0N/A * 3. The end-user documentation included with the redistribution, if any, must 0N/A * include the following acknowledgment: 0N/A * "This product includes software developed by IAIK of Graz University of 0N/A * Alternately, this acknowledgment may appear in the software itself, if 0N/A * and wherever such third-party acknowledgments normally appear. 0N/A * 4. The names "Graz University of Technology" and "IAIK of Graz University of 0N/A * Technology" must not be used to endorse or promote products derived from 0N/A * this software without prior written permission. 0N/A * 5. Products derived from this software may not be called 0N/A * "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior 0N/A * written permission of Graz University of Technology. 0N/A * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 0N/A * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 0N/A * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 0N/A * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE 0N/A * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 0N/A * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 0N/A * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 0N/A * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 0N/A * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 0N/A * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 0N/A * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0N/A * POSSIBILITY OF SUCH DAMAGE. 0N/A * =========================================================================== 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_EncryptInit 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jobject jMechanism CK_MECHANISM_PTR pMechanism 0N/A * @param jlong jKeyHandle CK_OBJECT_HANDLE hKey 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Signature: (J[BII[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jbyteArray jData CK_BYTE_PTR pData 0N/A * CK_ULONG ulDataLen 0N/A * @return jbyteArray jEncryptedData CK_BYTE_PTR pEncryptedData 0N/A * CK_ULONG_PTR pulEncryptedDataLen 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_EncryptUpdate 0N/A * Signature: (J[BII[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jbyteArray jPart CK_BYTE_PTR pPart 0N/A * CK_ULONG ulPartLen 0N/A * @return jbyteArray jEncryptedPart CK_BYTE_PTR pEncryptedPart 0N/A * CK_ULONG_PTR pulEncryptedPartLen 0N/A //printf("EU: inBufP=%i, jInOfs=%i, jInLen=%i, outBufP=%i\n", 0N/A // inBufP, jInOfs, jInLen, outBufP); 0N/A //printf("EU: ckEncryptedPartLen=%i\n", ckEncryptedPartLen); 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_EncryptFinal 0N/A * Signature: (J[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @return jbyteArray jLastEncryptedPart CK_BYTE_PTR pLastEncryptedDataPart 0N/A * CK_ULONG_PTR pulLastEncryptedDataPartLen 0N/A // output length should always be less than MAX_STACK_BUFFER_LEN 0N/A //printf("EF: outBufP=%i\n", outBufP); 0N/A //printf("EF: ckLastEncryptedPartLen=%i", ckLastEncryptedPartLen); 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_DecryptInit 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jobject jMechanism CK_MECHANISM_PTR pMechanism 0N/A * @param jlong jKeyHandle CK_OBJECT_HANDLE hKey 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Signature: (J[BII[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jbyteArray jEncryptedData CK_BYTE_PTR pEncryptedData 0N/A * CK_ULONG ulEncryptedDataLen 0N/A * @return jbyteArray jData CK_BYTE_PTR pData 0N/A * CK_ULONG_PTR pulDataLen 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_DecryptUpdate 0N/A * Signature: (J[BII[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @param jbyteArray jEncryptedPart CK_BYTE_PTR pEncryptedPart 0N/A * CK_ULONG ulEncryptedPartLen 0N/A * @return jbyteArray jPart CK_BYTE_PTR pPart 0N/A * CK_ULONG_PTR pulPartLen 0N/A * Class: sun_security_pkcs11_wrapper_PKCS11 0N/A * Method: C_DecryptFinal 0N/A * Signature: (J[BII)I 0N/A * Parametermapping: *PKCS11* 0N/A * @param jlong jSessionHandle CK_SESSION_HANDLE hSession 0N/A * @return jbyteArray jLastPart CK_BYTE_PTR pLastPart 0N/A * CK_ULONG_PTR pulLastPartLen 0N/A // jOutLen should always be less than MAX_STACK_BUFFER_LEN