@@ -57,8 +57,9 @@ abstract class EcdsaCompatibilityTest(
5757 keyPair.privateKey.signatureGenerator(signatureParameters.digest, signatureParameters.signatureFormat)
5858 val verifier =
5959 keyPair.publicKey.signatureVerifier(signatureParameters.digest, signatureParameters.signatureFormat)
60- val verifier2 =
60+ val verifier2 = if (supportsPublicKeyAccess()) {
6161 keyPair.privateKey.getPublicKey().signatureVerifier(signatureParameters.digest, signatureParameters.signatureFormat)
62+ } else null
6263
6364 repeat(signatureIterations) {
6465 val dataSize = CryptographyRandom .nextInt(maxDataSize)
@@ -68,7 +69,7 @@ abstract class EcdsaCompatibilityTest(
6869 logger.log { " signature.size = ${signature.size} " }
6970
7071 verifier.assertVerifySignature(data, signature, " Initial Verify" )
71- verifier2.assertVerifySignature(data, signature, " Initial Verify (inferred public key)" )
72+ verifier2? .assertVerifySignature(data, signature, " Initial Verify (inferred public key)" )
7273
7374 api.signatures.saveData(signatureParametersId, SignatureData (keyReference, data, signature))
7475 }
@@ -86,15 +87,16 @@ abstract class EcdsaCompatibilityTest(
8687 api.signatures.getData<SignatureData >(parametersId) { (keyReference, data, signature), _, _ ->
8788 val (publicKeys, privateKeys) = keyPairs[keyReference] ? : return @getData
8889 val verifiers = publicKeys.map { it.signatureVerifier(signatureParameters.digest, signatureParameters.signatureFormat) }
89- val verifiers2 =
90+ val verifiers2 = if (supportsPublicKeyAccess()) {
9091 privateKeys.map { it.getPublicKey().signatureVerifier(signatureParameters.digest, signatureParameters.signatureFormat) }
92+ } else null
9193 val generators = privateKeys.map { it.signatureGenerator(signatureParameters.digest, signatureParameters.signatureFormat) }
9294
9395 verifiers.forEach { verifier ->
9496 verifier.assertVerifySignature(data, signature, " Verify" )
9597 }
9698
97- verifiers2.forEach { verifier ->
99+ verifiers2? .forEach { verifier ->
98100 verifier.assertVerifySignature(data, signature, " Verify (inferred public key)" )
99101 }
100102
@@ -103,7 +105,7 @@ abstract class EcdsaCompatibilityTest(
103105 verifiers.forEach { verifier ->
104106 verifier.assertVerifySignature(data, signature, " Sign-Verify" )
105107 }
106- verifiers2.forEach { verifier ->
108+ verifiers2? .forEach { verifier ->
107109 verifier.assertVerifySignature(data, signature, " Sign-Verify (inferred public key)" )
108110 }
109111 }
0 commit comments