javaextensions/satsa/crypto/src/signatureimpljni.cpp
branchRCL_3
changeset 14 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/satsa/crypto/src/signatureimpljni.cpp	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  JNI Layer corresponding to Signature.java
+ *
+*/
+
+
+#include "com_nokia_mj_impl_security_SignatureImpl.h"
+
+#include "stssignature.h"
+#include "stssignaturefactory.h"
+#include "stsconstants.h"
+
+using namespace java::satsa;
+
+
+// JNI function.
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_security_SignatureImpl__1verify
+(JNIEnv* aJni, jclass, jint aHandle,
+ jbyteArray aSignature)
+{
+    int retVal = 0;
+    STSSignature* signature = reinterpret_cast< STSSignature* >(aHandle);
+
+    // Call Verify.
+    retVal = signature->Verify(aJni,aSignature);
+
+    return retVal;
+}
+
+// JNI function.
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_security_SignatureImpl__1update
+(JNIEnv* aJni, jclass, jint aHandle, jbyteArray aData, jint aOffset,
+ jint aLength)
+{
+    STSSignature* signature = reinterpret_cast< STSSignature* >(aHandle);
+    int err = 0;
+
+    // Call Update
+    err = signature->Update(aJni,aData, aOffset,aLength);
+
+    return err;
+}
+
+// JNI function.
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_security_SignatureImpl__1initVerify
+(JNIEnv* aJni, jclass, jint aHandle, jstring aKeyAlgorithm, jstring aKeyFormat,
+ jbyteArray aKeyEncoded)
+{
+    STSSignature* signature = reinterpret_cast< STSSignature* >(aHandle);
+    int err = 0;
+
+    // Call InitVerify
+    err = signature->InitVerify(aJni,
+                                aKeyAlgorithm,
+                                aKeyFormat,
+                                aKeyEncoded);
+
+    return err;
+}
+
+// JNI function.
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_security_SignatureImpl__1create
+(JNIEnv* aJni,
+ jclass,
+ jstring aAlgorithm)
+{
+
+    int handle = KSTSErrNoMemory;
+    int errCode = 0;
+
+    STSSignature* aSignature = NULL;
+
+    // Call CreateSignature.
+    aSignature = STSSignatureFactory::CreateSignature(aJni, aAlgorithm, &errCode);
+
+    if (aSignature == NULL)
+    {
+        // CreateSignature  returned error.
+        // Set error code to handle variable which is returned to Java
+        handle = errCode;
+    }
+    else
+    {
+        // signature created successfully, return handle to new signature object
+        handle = reinterpret_cast<jint>(aSignature);
+    }
+
+    return handle;
+}
+
+// JNI function dispose.
+JNIEXPORT void
+JNICALL Java_com_nokia_mj_impl_security_SignatureImpl__1dispose
+(JNIEnv* /*aJni*/,
+ jclass,
+ jint aHandle)
+{
+
+    //Get the signature object from aHandle
+    STSSignature* signature = reinterpret_cast< STSSignature* >(aHandle);
+
+    if (signature != NULL)
+    {
+        // Cleanup the native handle.
+        delete signature;
+        signature = 0;
+    }
+
+}//end dispose
+
+
+