File 1277-add-public_key-testcase-for-MD2-RSA.patch of Package erlang

From e9fa11b24d8a8f6facfb396a0d9515cbdf592571 Mon Sep 17 00:00:00 2001
From: Jean-Louis Huynen <huynenjl@gmail.com>
Date: Wed, 23 Apr 2025 11:16:09 +0200
Subject: [PATCH 2/5] add: [public_key] testcase for MD2-RSA

---
 lib/public_key/test/public_key_SUITE.erl          | 15 +++++++++++++++
 .../test/public_key_SUITE_data/rsa_md2.pem        | 14 ++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 lib/public_key/test/public_key_SUITE_data/rsa_md2.pem

diff --git a/lib/public_key/test/public_key_SUITE.erl b/lib/public_key/test/public_key_SUITE.erl
index a85a5d4b01..73d77b03b6 100644
--- a/lib/public_key/test/public_key_SUITE.erl
+++ b/lib/public_key/test/public_key_SUITE.erl
@@ -119,6 +119,8 @@
          pkix_iso_rsa_oid/1,
          pkix_iso_dsa_oid/0,
          pkix_iso_dsa_oid/1,
+         pkix_rsa_md2_oid/0,
+         pkix_rsa_md2_oid/1,
          pkix_dsa_sha2_oid/0,
          pkix_dsa_sha2_oid/1,
          pkix_crl/0,
@@ -178,6 +180,7 @@ all() ->
      pkix_path_validation_root_expired,
      pkix_iso_rsa_oid, 
      pkix_iso_dsa_oid, 
+     pkix_rsa_md2_oid,
      pkix_dsa_sha2_oid,
      pkix_crl, 
      pkix_hash_type,
@@ -1367,6 +1370,18 @@ pkix_iso_dsa_oid(Config) when is_list(Config) ->
     SigAlg = OTPCert#'OTPCertificate'.signatureAlgorithm,
     {_, dsa} = public_key:pkix_sign_types(SigAlg#'SignatureAlgorithm'.algorithm).
 
+%%--------------------------------------------------------------------
+
+pkix_rsa_md2_oid() ->
+ [{doc, "Test support for MD2 signed RSA certs." "oid 1.2.840.113549.1.1.2"}].
+pkix_rsa_md2_oid(Config) when is_list(Config) ->
+    Datadir = proplists:get_value(data_dir, Config),
+    {ok, PemCert} = file:read_file(filename:join(Datadir, "rsa_md2.pem")),
+    [{_, Cert, _}] = public_key:pem_decode(PemCert),
+    OTPCert = public_key:pkix_decode_cert(Cert, otp),
+    SigAlg = OTPCert#'OTPCertificate'.signatureAlgorithm,
+    {md2, rsa} = public_key:pkix_sign_types(SigAlg#'SignatureAlgorithm'.algorithm).
+
 %%--------------------------------------------------------------------
 pkix_dsa_sha2_oid() ->
  [{doc, "Test support dsa_sha2 oid"}].
diff --git a/lib/public_key/test/public_key_SUITE_data/rsa_md2.pem b/lib/public_key/test/public_key_SUITE_data/rsa_md2.pem
new file mode 100644
index 0000000000..463a3ca0e1
--- /dev/null
+++ b/lib/public_key/test/public_key_SUITE_data/rsa_md2.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
+A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
+VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
+MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
+BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
+dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
+ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
+0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
+uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
+hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
+YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
+1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
+-----END CERTIFICATE-----
-- 
2.43.0

openSUSE Build Service is sponsored by