jvmMain.operations.JdkSignatureVerifier.kt Maven / Gradle / Ivy
/*
* Copyright (c) 2023-2024 Oleg Yukhnevich. Use of this source code is governed by the Apache 2.0 license.
*/
package dev.whyoleg.cryptography.providers.jdk.operations
import dev.whyoleg.cryptography.operations.signature.*
import dev.whyoleg.cryptography.providers.jdk.*
import java.security.spec.*
internal class JdkSignatureVerifier(
state: JdkCryptographyState,
private val key: JPublicKey,
algorithm: String,
private val parameters: AlgorithmParameterSpec?,
) : SignatureVerifier {
private val signature = state.signature(algorithm)
override fun verifySignatureBlocking(dataInput: ByteArray, signatureInput: ByteArray): Boolean = signature.use { signature ->
signature.initVerify(key)
parameters?.let(signature::setParameter)
signature.update(dataInput)
signature.verify(signatureInput)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy