File 0191-public_key-fix-pkix_crl_verify-2-for-EdDSA-certifica.patch of Package erlang
From b87322a409466a930d6ef1c1962046b5c448a819 Mon Sep 17 00:00:00 2001
From: Stefan Grundmann <sg2342@googlemail.com>
Date: Thu, 18 Dec 2025 18:17:45 +0000
Subject: [PATCH 1/4] public_key: fix pkix_crl_verify/2 for EdDSA certificates
Fixes #10495
---
lib/public_key/src/public_key.erl | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl
index e1faa65430..7d57768591 100644
--- a/lib/public_key/src/public_key.erl
+++ b/lib/public_key/src/public_key.erl
@@ -1776,7 +1776,13 @@ pkix_crl_verify(#'CertificateList'{} = CRL, #'OTPCertificate'{} = Cert) ->
PublicKeyInfo = TBSCert#'OTPTBSCertificate'.subjectPublicKeyInfo,
PublicKey = PublicKeyInfo#'OTPSubjectPublicKeyInfo'.subjectPublicKey,
AlgInfo = PublicKeyInfo#'OTPSubjectPublicKeyInfo'.algorithm,
- PublicKeyParams = AlgInfo#'PublicKeyAlgorithm'.parameters,
+ PublicKeyParams =
+ case AlgInfo#'PublicKeyAlgorithm'.algorithm of
+ AlgId when AlgId == ?'id-Ed25519' ; AlgId == ?'id-Ed448' ->
+ {namedCurve, AlgId};
+ _ ->
+ AlgInfo#'PublicKeyAlgorithm'.parameters
+ end,
pubkey_crl:verify_crl_signature(CRL,
der_encode('CertificateList', CRL),
PublicKey, PublicKeyParams).
--
2.51.0