mirror of
https://github.com/signalapp/libsignal.git
synced 2026-05-10 17:12:16 +02:00
Java: Fix libsignal submodule build after refactor of Curve.java to Kotlin
Sets Kotlin compiler output to JDK_17 and makes the changes to the Curve object non-breaking
This commit is contained in:
@@ -9,55 +9,65 @@ package org.signal.libsignal.protocol.ecc
|
||||
|
||||
import org.signal.libsignal.protocol.InvalidKeyException
|
||||
|
||||
const val DJB_TYPE = 0x05
|
||||
class Curve {
|
||||
companion object {
|
||||
const val DJB_TYPE = 0x05
|
||||
|
||||
fun generateKeyPair(): ECKeyPair {
|
||||
val privateKey = ECPrivateKey.generate()
|
||||
val publicKey = privateKey.publicKey()
|
||||
return ECKeyPair(publicKey, privateKey)
|
||||
}
|
||||
@JvmStatic
|
||||
fun generateKeyPair(): ECKeyPair {
|
||||
val privateKey = ECPrivateKey.generate()
|
||||
val publicKey = privateKey.publicKey()
|
||||
return ECKeyPair(publicKey, privateKey)
|
||||
}
|
||||
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun decodePoint(bytes: ByteArray?, offset: Int): ECPublicKey {
|
||||
if (bytes == null || bytes.size - offset < 1) {
|
||||
throw InvalidKeyException("No key type identifier")
|
||||
@JvmStatic
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun decodePoint(bytes: ByteArray?, offset: Int): ECPublicKey {
|
||||
if (bytes == null || bytes.size - offset < 1) {
|
||||
throw InvalidKeyException("No key type identifier")
|
||||
}
|
||||
|
||||
return ECPublicKey(bytes, offset)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun decodePrivatePoint(bytes: ByteArray?): ECPrivateKey {
|
||||
return ECPrivateKey(bytes)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun calculateAgreement(publicKey: ECPublicKey?, privateKey: ECPrivateKey?): ByteArray {
|
||||
if (publicKey == null) {
|
||||
throw InvalidKeyException("public value is null")
|
||||
}
|
||||
|
||||
if (privateKey == null) {
|
||||
throw InvalidKeyException("private value is null")
|
||||
}
|
||||
|
||||
return privateKey.calculateAgreement(publicKey)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun verifySignature(signingKey: ECPublicKey?, message: ByteArray?, signature: ByteArray?): Boolean {
|
||||
if (signingKey == null || message == null || signature == null) {
|
||||
throw InvalidKeyException("Values must not be null")
|
||||
}
|
||||
|
||||
return signingKey.verifySignature(message, signature)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun calculateSignature(signingKey: ECPrivateKey?, message: ByteArray?): ByteArray {
|
||||
if (signingKey == null || message == null) {
|
||||
throw InvalidKeyException("Values must not be null")
|
||||
}
|
||||
|
||||
return signingKey.calculateSignature(message)
|
||||
}
|
||||
}
|
||||
|
||||
return ECPublicKey(bytes, offset)
|
||||
}
|
||||
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun decodePrivatePoint(bytes: ByteArray?): ECPrivateKey {
|
||||
return ECPrivateKey(bytes)
|
||||
}
|
||||
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun calculateAgreement(publicKey: ECPublicKey?, privateKey: ECPrivateKey?): ByteArray {
|
||||
if (publicKey == null) {
|
||||
throw InvalidKeyException("public value is null")
|
||||
}
|
||||
|
||||
if (privateKey == null) {
|
||||
throw InvalidKeyException("private value is null")
|
||||
}
|
||||
|
||||
return privateKey.calculateAgreement(publicKey)
|
||||
}
|
||||
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun verifySignature(signingKey: ECPublicKey?, message: ByteArray?, signature: ByteArray?): Boolean {
|
||||
if (signingKey == null || message == null || signature == null) {
|
||||
throw InvalidKeyException("Values must not be null")
|
||||
}
|
||||
|
||||
return signingKey.verifySignature(message, signature)
|
||||
}
|
||||
|
||||
@Throws(InvalidKeyException::class)
|
||||
fun calculateSignature(signingKey: ECPrivateKey?, message: ByteArray?): ByteArray {
|
||||
if (signingKey == null || message == null) {
|
||||
throw InvalidKeyException("Values must not be null")
|
||||
}
|
||||
|
||||
return signingKey.calculateSignature(message)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user