Skip to content

Commit 6d1bde8

Browse files
committed
add secretbox to jni wrapper
1 parent d598c87 commit 6d1bde8

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

jni/peergos_server_crypto_JniTweetNacl.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,40 @@ JNIEXPORT jint JNICALL Java_peergos_server_crypto_JniTweetNacl_crypto_1box_1open
130130
return (jint) rc;
131131
}
132132

133+
JNIEXPORT jint JNICALL Java_peergos_server_crypto_JniTweetNacl_crypto_1secretbox
134+
(JNIEnv * env, jclass class, jbyteArray c, jbyteArray m, jlong d, jbyteArray n, jbyteArray k) {
135+
u8* c_c = toArray(env, c);
136+
u8* m_c = toArray(env, m);
137+
u8* n_c = toArray(env, n);
138+
u8* k_c = toArray(env, k);
139+
140+
int rc = crypto_secretbox(c_c, m_c, (long) d, n_c, k_c);
141+
copy(env, c_c, c, 0, length(env, c));
142+
143+
free(c_c);
144+
free(m_c);
145+
free(n_c);
146+
free(k_c);
147+
return (jint) rc;
148+
}
149+
150+
JNIEXPORT jint JNICALL Java_peergos_server_crypto_JniTweetNacl_crypto_1secretbox_1open
151+
(JNIEnv * env, jclass class, jbyteArray m, jbyteArray c, jlong d, jbyteArray n, jbyteArray k) {
152+
u8* m_c = toArray(env, m);
153+
u8* c_c = toArray(env, c);
154+
u8* n_c = toArray(env, n);
155+
u8* k_c = toArray(env, k);
156+
157+
int rc = crypto_secretbox_open(m_c, c_c, (long) d, n_c, k_c);
158+
copy(env, m_c, m, 0, length(env, m));
159+
160+
free(c_c);
161+
free(m_c);
162+
free(n_c);
163+
free(k_c);
164+
return (jint) rc;
165+
}
166+
133167
JNIEXPORT jint JNICALL Java_peergos_server_crypto_JniTweetNacl_crypto_1box
134168
(JNIEnv * env, jclass class, jbyteArray c, jbyteArray m, jlong d, jbyteArray n, jbyteArray y, jbyteArray x) {
135169

jni/peergos_server_crypto_JniTweetNacl.h

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/peergos/server/crypto/JniTweetNacl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ public class JniTweetNacl {
1919
public static native int crypto_sign_keypair(byte[] pk, byte[] sk);
2020

2121

22+
public static native int crypto_secretbox_open(byte[] m, byte[] c, long d, byte[] n, byte[] k);
23+
24+
public static native int crypto_secretbox(byte[] c, byte[] m, long d, byte[] n, byte[] k);
25+
26+
2227
public static native int crypto_scalarmult_base(byte[] q, byte[] n);
2328

2429
public static native int ld32(byte[] b);

0 commit comments

Comments
 (0)