Dash Core  0.12.2.1
P2P Digital Currency
org_bitcoin_NativeSecp256k1.c
Go to the documentation of this file.
2 #include "include/secp256k1.h"
3 
5  (JNIEnv* env, jclass classObject, jobject byteBufferObject)
6 {
7  unsigned char* data = (unsigned char*) (*env)->GetDirectBufferAddress(env, byteBufferObject);
8  int sigLen = *((int*)(data + 32));
9  int pubLen = *((int*)(data + 32 + 4));
10 
11  return secp256k1_ecdsa_verify(data, 32, data+32+8, sigLen, data+32+8+sigLen, pubLen);
12 }
13 
14 static void __javasecp256k1_attach(void) __attribute__((constructor));
15 static void __javasecp256k1_detach(void) __attribute__((destructor));
16 
17 static void __javasecp256k1_attach(void) {
18  secp256k1_start(SECP256K1_START_VERIFY);
19 }
20 
21 static void __javasecp256k1_detach(void) {
22  secp256k1_stop();
23 }
static void __javasecp256k1_attach(void)
JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify(JNIEnv *env, jclass classObject, jobject byteBufferObject)
static void __javasecp256k1_detach(void)
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify(const secp256k1_context *ctx, const secp256k1_ecdsa_signature *sig, const unsigned char *msg32, const secp256k1_pubkey *pubkey) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4)
Definition: secp256k1.c:297