@@ -73,4 +73,38 @@ Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blind15KeyPair(JNI
73
73
);
74
74
return jni_utils::new_key_pair (env, util::bytes_from_span (env, pk), util::bytes_from_span (env, sk));
75
75
});
76
+ }
77
+
78
+ extern " C"
79
+ JNIEXPORT jbyteArray JNICALL
80
+ Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blind15Sign (JNIEnv *env, jobject thiz,
81
+ jbyteArray ed25519_secret_key,
82
+ jstring server_pub_key,
83
+ jbyteArray message) {
84
+ return jni_utils::run_catching_cxx_exception_or_throws<jbyteArray>(env, [=] {
85
+ auto data = session::blind15_sign (
86
+ jni_utils::JavaByteArrayRef (env, ed25519_secret_key).get (),
87
+ jni_utils::JavaStringRef (env, server_pub_key).view (),
88
+ jni_utils::JavaByteArrayRef (env, message).get ()
89
+ );
90
+ return util::bytes_from_vector (env, data);
91
+ });
92
+ }
93
+
94
+ extern " C"
95
+ JNIEXPORT jboolean JNICALL
96
+ Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_sessionIdMatchesBlindedId (JNIEnv *env,
97
+ jobject thiz,
98
+ jstring session_id,
99
+ jstring blinded_id,
100
+ jstring server_pub_key) {
101
+ return jni_utils::run_catching_cxx_exception_or<jboolean>([=]() -> jboolean {
102
+ return session::session_id_matches_blinded_id (
103
+ jni_utils::JavaStringRef (env, session_id).view (),
104
+ jni_utils::JavaStringRef (env, blinded_id).view (),
105
+ jni_utils::JavaStringRef (env, server_pub_key).view ()
106
+ );
107
+ }, [](const char *) -> jboolean {
108
+ return false ;
109
+ });
76
110
}
0 commit comments