diff --git a/library/src/main/cpp/blinded_key.cpp b/library/src/main/cpp/blinded_key.cpp index 1ed1cfd..1f2554b 100644 --- a/library/src/main/cpp/blinded_key.cpp +++ b/library/src/main/cpp/blinded_key.cpp @@ -31,4 +31,28 @@ Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blindVersionSign(J auto bytes = session::blind_version_sign(util::ustring_from_bytes(env, ed25519_secret_key), session::Platform::android, timestamp); return util::bytes_from_ustring(env, bytes); }); +} + +extern "C" +JNIEXPORT jbyteArray JNICALL +Java_network_loki_messenger_libsession_1util_util_BlindKeyAPI_blindVersionSignRequest(JNIEnv *env, + jobject thiz, + jbyteArray ed25519_secret_key, + jlong timestamp, + jstring method, + jstring path, + jbyteArray body) { + return jni_utils::run_catching_cxx_exception_or_throws(env, [=] { + auto methodC = util::string_from_jstring(env, method); + auto pathC = util::string_from_jstring(env, path); + + auto bytes = session::blind_version_sign_request( + util::ustring_from_bytes(env, ed25519_secret_key), + timestamp, + methodC, + pathC, + body ? std::optional(util::ustring_from_bytes(env, body)) : std::nullopt + ); + return util::bytes_from_ustring(env, bytes); + }); } \ 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 cd3dac3..dc0e8cb 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 @@ -12,4 +12,10 @@ object BlindKeyAPI { external fun blindVersionKeyPair(ed25519SecretKey: ByteArray): KeyPair external fun blindVersionSign(ed25519SecretKey: ByteArray, timestamp: Long): ByteArray + external fun blindVersionSignRequest( + ed25519SecretKey: ByteArray, + timestamp: Long, + method: String, + path: String, + body: ByteArray?): ByteArray } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index d45825c..0d03675 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -19,6 +19,6 @@ dependencyResolutionManagement { } } -rootProject.name = "libsession-util Android" +rootProject.name = "libsession-util-android" include(":library") \ No newline at end of file