Add chacha20poly1305EncryptDetachedResult return type to corresponding functions (mac and ciphertext were fixed)

This commit is contained in:
Maria Chernova 2024-12-07 19:12:57 +03:00 committed by kildishevps
parent 2fdecba847
commit 0d2300c47f
3 changed files with 9 additions and 7 deletions

View File

@ -13,6 +13,10 @@ import org.khronos.webgl.Uint8Array
typealias UByte = Int typealias UByte = Int
typealias UInt = Long typealias UInt = Long
external object chacha20poly1305EncryptDetachedResult : JsAny {
val ciphertext: Uint8Array
var mac: Uint8Array
}
@JsModule("libsodium-wrappers-sumo") @JsModule("libsodium-wrappers-sumo")
external object JsSodiumInterface { external object JsSodiumInterface {
@ -139,7 +143,7 @@ external object JsSodiumInterface {
@JsName("crypto_aead_chacha20poly1305_encrypt") @JsName("crypto_aead_chacha20poly1305_encrypt")
fun crypto_aead_chacha20poly1305_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array fun crypto_aead_chacha20poly1305_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array
@JsName("crypto_aead_chacha20poly1305_encrypt_detached") @JsName("crypto_aead_chacha20poly1305_encrypt_detached")
fun crypto_aead_chacha20poly1305_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : JsAny fun crypto_aead_chacha20poly1305_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : chacha20poly1305EncryptDetachedResult
@JsName("crypto_aead_chacha20poly1305_ietf_decrypt") @JsName("crypto_aead_chacha20poly1305_ietf_decrypt")
fun crypto_aead_chacha20poly1305_ietf_decrypt(nsec : Uint8Array?, ciphertext: Uint8Array, associatedData: Uint8Array, npub: Uint8Array, key: Uint8Array) : Uint8Array fun crypto_aead_chacha20poly1305_ietf_decrypt(nsec : Uint8Array?, ciphertext: Uint8Array, associatedData: Uint8Array, npub: Uint8Array, key: Uint8Array) : Uint8Array
@JsName("crypto_aead_chacha20poly1305_ietf_decrypt_detached") @JsName("crypto_aead_chacha20poly1305_ietf_decrypt_detached")
@ -147,7 +151,7 @@ external object JsSodiumInterface {
@JsName("crypto_aead_chacha20poly1305_ietf_encrypt") @JsName("crypto_aead_chacha20poly1305_ietf_encrypt")
fun crypto_aead_chacha20poly1305_ietf_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array fun crypto_aead_chacha20poly1305_ietf_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array
@JsName("crypto_aead_chacha20poly1305_ietf_encrypt_detached") @JsName("crypto_aead_chacha20poly1305_ietf_encrypt_detached")
fun crypto_aead_chacha20poly1305_ietf_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : JsAny fun crypto_aead_chacha20poly1305_ietf_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : chacha20poly1305EncryptDetachedResult
@JsName("crypto_aead_chacha20poly1305_ietf_keygen") @JsName("crypto_aead_chacha20poly1305_ietf_keygen")
fun crypto_aead_chacha20poly1305_ietf_keygen() : Uint8Array fun crypto_aead_chacha20poly1305_ietf_keygen() : Uint8Array
@JsName("crypto_aead_chacha20poly1305_keygen") @JsName("crypto_aead_chacha20poly1305_keygen")
@ -159,7 +163,7 @@ external object JsSodiumInterface {
@JsName("crypto_aead_xchacha20poly1305_ietf_encrypt") @JsName("crypto_aead_xchacha20poly1305_ietf_encrypt")
fun crypto_aead_xchacha20poly1305_ietf_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array fun crypto_aead_xchacha20poly1305_ietf_encrypt(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : Uint8Array
@JsName("crypto_aead_xchacha20poly1305_ietf_encrypt_detached") @JsName("crypto_aead_xchacha20poly1305_ietf_encrypt_detached")
fun crypto_aead_xchacha20poly1305_ietf_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : JsAny fun crypto_aead_xchacha20poly1305_ietf_encrypt_detached(message: Uint8Array, associatedData: Uint8Array, nsec: Uint8Array?, npub: Uint8Array, key: Uint8Array) : chacha20poly1305EncryptDetachedResult
@JsName("crypto_aead_xchacha20poly1305_ietf_keygen") @JsName("crypto_aead_xchacha20poly1305_ietf_keygen")
fun crypto_aead_xchacha20poly1305_ietf_keygen(): Uint8Array fun crypto_aead_xchacha20poly1305_ietf_keygen(): Uint8Array

View File

@ -9,7 +9,6 @@ import org.khronos.webgl.get
* on 02-Aug-2020 * on 02-Aug-2020
*/ */
fun UByteArray.toByteArray() : ByteArray { fun UByteArray.toByteArray() : ByteArray {
// val uint8Result = ByteArray(toTypedArray())
return toByteArray() return toByteArray()
} }

View File

@ -8,7 +8,6 @@ import org.khronos.webgl.Uint8Array
actual object AuthenticatedEncryptionWithAssociatedData { actual object AuthenticatedEncryptionWithAssociatedData {
// Ietf // Ietf
// Original chacha20poly1305 // Original chacha20poly1305
actual fun xChaCha20Poly1305IetfEncrypt( actual fun xChaCha20Poly1305IetfEncrypt(
message: UByteArray, message: UByteArray,
@ -58,8 +57,8 @@ actual object AuthenticatedEncryptionWithAssociatedData {
key.toUInt8Array(), key.toUInt8Array(),
) )
return AeadEncryptedDataAndTag( return AeadEncryptedDataAndTag(
(result.ciphertext as Uint8Array).toUByteArray(), (result.ciphertext).toUByteArray(),
(result.mac as Uint8Array).toUByteArray() (result.mac).toUByteArray()
) )
} }