diff --git a/library/src/main/cpp/blinded_key.cpp b/library/src/main/cpp/blinded_key.cpp index fac15d1..2b6888d 100644 --- a/library/src/main/cpp/blinded_key.cpp +++ b/library/src/main/cpp/blinded_key.cpp @@ -107,4 +107,33 @@ Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_sessionIdMatchesBl }, [](const char *) -> jboolean { return false; }); +} + +extern "C" +JNIEXPORT jobject JNICALL +Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blind15Ids(JNIEnv *env, jobject thiz, + jstring session_id, + jstring server_pub_key) { + return jni_utils::run_catching_cxx_exception_or_throws(env, [=]() -> jobject { + return jni_utils::jstring_list_from_collection( + env, + session::blind15_id( + jni_utils::JavaStringRef(env, session_id).view(), + jni_utils::JavaStringRef(env, server_pub_key).view() + ) + ); + }); +} + +extern "C" +JNIEXPORT jstring JNICALL +Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blind25Id(JNIEnv *env, jobject thiz, + jstring session_id, + jstring server_pub_key) { + return jni_utils::run_catching_cxx_exception_or_throws(env, [=]() -> jstring { + return util::jstringFromOptional(env, session::blind25_id( + jni_utils::JavaStringRef(env, session_id).view(), + jni_utils::JavaStringRef(env, server_pub_key).view() + )); + }); } \ No newline at end of file diff --git a/library/src/main/java/network/loki/messenger/libsession_util/util/BlindKeyAPI.kt b/library/src/main/java/network/loki/messenger/libsession_util/util/BlindKeyAPI.kt index 862cfd4..07f3005 100644 --- a/library/src/main/java/network/loki/messenger/libsession_util/util/BlindKeyAPI.kt +++ b/library/src/main/java/network/loki/messenger/libsession_util/util/BlindKeyAPI.kt @@ -44,6 +44,16 @@ object BlindKeyAPI : LibSessionUtilCApi() { message: ByteArray, ): ByteArray + external fun blind15Ids( + sessionId: String, + serverPubKey: String, + ): List + + external fun blind25Id( + sessionId: String, + serverPubKey: String, + ): String + /** * Takes in a standard sessionId and returns a flag indicating whether it matches the given * blindedId for a given serverPubKey