From 6856d4cb4730b945576f6bcaa9f67a74f1a08281 Mon Sep 17 00:00:00 2001 From: Enginex0 Date: Tue, 17 Mar 2026 19:48:19 +0100 Subject: [PATCH] fix(certgen): accept ECDSA as EC algorithm alias in JCA key type matching Some Android 10 devices (e.g. Sony H8296) report EC private key algorithm as "ECDSA" instead of "EC", causing IllegalArgumentException in certificate signing and a SIGSEGV crash in the keystore process. Closes #4 --- .../java/org/matrix/TEESimulator/pki/CertificateGenerator.kt | 2 +- app/src/main/java/org/matrix/TEESimulator/pki/NativeCertGen.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/matrix/TEESimulator/pki/CertificateGenerator.kt b/app/src/main/java/org/matrix/TEESimulator/pki/CertificateGenerator.kt index 6e8f2d3..003a0c5 100644 --- a/app/src/main/java/org/matrix/TEESimulator/pki/CertificateGenerator.kt +++ b/app/src/main/java/org/matrix/TEESimulator/pki/CertificateGenerator.kt @@ -240,7 +240,7 @@ object CertificateGenerator { val signerAlgorithm = when (signingKeyPair.private.algorithm) { - "EC" -> "SHA256withECDSA" + "EC", "ECDSA" -> "SHA256withECDSA" "RSA" -> "SHA256withRSA" else -> throw IllegalArgumentException("Unsupported signing key: ${signingKeyPair.private.algorithm}") } diff --git a/app/src/main/java/org/matrix/TEESimulator/pki/NativeCertGen.kt b/app/src/main/java/org/matrix/TEESimulator/pki/NativeCertGen.kt index eb75b29..0865021 100644 --- a/app/src/main/java/org/matrix/TEESimulator/pki/NativeCertGen.kt +++ b/app/src/main/java/org/matrix/TEESimulator/pki/NativeCertGen.kt @@ -105,7 +105,7 @@ object NativeCertGen { } val algorithmName = when (certs[0].publicKey.algorithm) { - "EC" -> "EC" + "EC", "ECDSA" -> "EC" "RSA" -> "RSA" else -> certs[0].publicKey.algorithm }