Hand built libsodium libraries, andoird armv8 missing aes128l/256 aegis implementations
This commit is contained in:
13 files changed
+87
-18
No files matched your search
@@ -468,6 +468,8 @@ kotlin {
|
||||
implementation(kotlin(Deps.Jvm.test))
|
||||
implementation(kotlin(Deps.Jvm.testJUnit))
|
||||
|
||||
implementation(Deps.Jvm.resourceLoader)
|
||||
|
||||
//lazysodium
|
||||
implementation(Deps.Jvm.Delegated.lazysodium)
|
||||
implementation(Deps.Jvm.Delegated.jna)
|
||||
@@ -678,6 +680,13 @@ tasks {
|
||||
|
||||
}
|
||||
|
||||
allprojects {
|
||||
tasks.withType(JavaCompile::class) {
|
||||
sourceCompatibility = "1.8"
|
||||
targetCompatibility = "1.8"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
signing {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+57
@@ -0,0 +1,57 @@
|
||||
package com.ionspin.kotlin.crypto.jnitest
|
||||
|
||||
import co.libly.resourceloader.FileLoader
|
||||
import co.libly.resourceloader.ResourceLoader
|
||||
import com.sun.jna.Library
|
||||
import com.sun.jna.Native
|
||||
import com.sun.jna.NativeLibrary
|
||||
import com.sun.jna.Platform
|
||||
import java.io.File
|
||||
import java.lang.RuntimeException
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
/**
|
||||
* Created by Ugljesa Jovanovic
|
||||
* ugljesa.jovanovic@ionspin.com
|
||||
* on 20-Feb-2021
|
||||
*/
|
||||
object JniTest {
|
||||
|
||||
|
||||
init {
|
||||
val libraryFile = when {
|
||||
Platform.isMac() -> {
|
||||
FileLoader.get().load("dynamic-macos-x86-64.dylib", Any::class.java)
|
||||
}
|
||||
Platform.isLinux() -> {
|
||||
FileLoader.get().load("dynamic-linux-x86-64-libsodium.so", Any::class.java)
|
||||
}
|
||||
Platform.isWindows() -> {
|
||||
File("/home/ionspin/Projects/Future/kotlin-multiplatform-libsodium/multiplatform-crypto-libsodium-bindings/src/jvmMain/resources/dynamic-linux-x86-64-libsodium.so")
|
||||
}
|
||||
Platform.isAndroid() -> {
|
||||
File("/home/ionspin/Projects/Future/kotlin-multiplatform-libsodium/multiplatform-crypto-libsodium-bindings/src/jvmMain/resources/dynamic-linux-x86-64-libsodium.so")
|
||||
}
|
||||
else -> throw RuntimeException("Unknown platform")
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
println(libraryFile.absoluteFile)
|
||||
val loaded = Native.load(libraryFile.absolutePath, SodiumVersion::class.java) as SodiumVersion
|
||||
val version = loaded.sodium_version_string()
|
||||
|
||||
println("Loaded ${loaded.sodium_version_string()}")
|
||||
assertEquals("1.0.18", version)
|
||||
|
||||
}
|
||||
|
||||
fun work() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
interface SodiumVersion : Library {
|
||||
fun sodium_version_string() : String
|
||||
}
|
||||
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+16
@@ -0,0 +1,16 @@
|
||||
package com.ionspin.kotlin.crypto.jnitest
|
||||
|
||||
import org.junit.Test
|
||||
|
||||
/**
|
||||
* Created by Ugljesa Jovanovic
|
||||
* ugljesa.jovanovic@ionspin.com
|
||||
* on 20-Feb-2021
|
||||
*/
|
||||
class JniTestTest {
|
||||
|
||||
@Test
|
||||
fun testJniTest() {
|
||||
JniTest.work()
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user