Commit 869b27ac3e for openssl.org

commit 869b27ac3e421a9c2a4f02bf8abce38670e40b66
Author: Skye Soss <skye@soss.website>
Date:   Thu Jul 23 17:37:35 2026 -0500

    Add OIDs specified by RFC 9925

    Defines the id-alg-unsigned and id-rdna-unsigned OIDs from RFC 9925

    CLA: trivial
    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
    Merge-date: Wed Aug 19 10:46:43 2026
    Merged-from: https://github.com/openssl/openssl/pull/32062

diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
index c7925932d5..8ee55f7521 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
@@ -20,7 +20,7 @@
 #include <crypto/asn1.h>

 /* Serialized OID's */
-static const unsigned char so[9582] = {
+static const unsigned char so[9598] = {
     0x2A,0x86,0x48,0x86,0xF7,0x0D,                 /* [    0] OBJ_rsadsi */
     0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,            /* [    6] OBJ_pkcs */
     0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02,       /* [   13] OBJ_md2 */
@@ -1364,9 +1364,11 @@ static const unsigned char so[9582] = {
     0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x0D,  /* [ 9549] OBJ_id_smime_ori */
     0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x0D,0x03,  /* [ 9559] OBJ_id_smime_ori_kem */
     0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x11,  /* [ 9570] OBJ_id_alg_hss_lms_hashsig */
+    0x2B,0x06,0x01,0x05,0x05,0x07,0x19,0x01,       /* [ 9581] OBJ_id_rdna_unsigned */
+    0x2B,0x06,0x01,0x05,0x05,0x07,0x06,0x24,       /* [ 9589] OBJ_id_alg_unsigned */
 };

-#define NUM_NID 1502
+#define NUM_NID 1504
 static const ASN1_OBJECT nid_objs[NUM_NID] = {
     {"UNDEF", "undefined", NID_undef},
     {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]},
@@ -2870,9 +2872,11 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = {
     {"id-smime-ori", "id-smime-ori", NID_id_smime_ori, 10, &so[9549]},
     {"id-smime-ori-kem", "id-smime-ori-kem", NID_id_smime_ori_kem, 11, &so[9559]},
     {"id-alg-hss-lms-hashsig", "id-alg-hss-lms-hashsig", NID_id_alg_hss_lms_hashsig, 11, &so[9570]},
+    {"id-rdna-unsigned", "id-rdna-unsigned", NID_id_rdna_unsigned, 8, &so[9581]},
+    {"id-alg-unsigned", "id-alg-unsigned", NID_id_alg_unsigned, 8, &so[9589]},
 };

-#define NUM_SN 1493
+#define NUM_SN 1495
 static const unsigned int sn_objs[NUM_SN] = {
      364,    /* "AD_DVCS" */
      419,    /* "AES-128-CBC" */
@@ -3510,6 +3514,7 @@ static const unsigned int sn_objs[NUM_SN] = {
     1454,    /* "id-alg-ml-kem-512" */
     1455,    /* "id-alg-ml-kem-768" */
      324,    /* "id-alg-noSignature" */
+    1503,    /* "id-alg-unsigned" */
      907,    /* "id-camellia128-wrap" */
      908,    /* "id-camellia192-wrap" */
      909,    /* "id-camellia256-wrap" */
@@ -3661,6 +3666,7 @@ static const unsigned int sn_objs[NUM_SN] = {
      259,    /* "id-qt" */
      164,    /* "id-qt-cps" */
      165,    /* "id-qt-unotice" */
+    1502,    /* "id-rdna-unsigned" */
      313,    /* "id-regCtrl" */
     1259,    /* "id-regCtrl-algId" */
     1258,    /* "id-regCtrl-altCertTemplate" */
@@ -4369,7 +4375,7 @@ static const unsigned int sn_objs[NUM_SN] = {
     1289,    /* "zstd" */
 };

-#define NUM_LN 1493
+#define NUM_LN 1495
 static const unsigned int ln_objs[NUM_LN] = {
      363,    /* "AD Time Stamping" */
      405,    /* "ANSI X9.62" */
@@ -5200,6 +5206,7 @@ static const unsigned int ln_objs[NUM_LN] = {
      325,    /* "id-alg-dh-sig-hmac-sha1" */
     1501,    /* "id-alg-hss-lms-hashsig" */
      324,    /* "id-alg-noSignature" */
+    1503,    /* "id-alg-unsigned" */
      907,    /* "id-camellia128-wrap" */
      908,    /* "id-camellia192-wrap" */
      909,    /* "id-camellia256-wrap" */
@@ -5305,6 +5312,7 @@ static const unsigned int ln_objs[NUM_LN] = {
      267,    /* "id-qcs" */
      359,    /* "id-qcs-pkixQCSyntax-v1" */
      259,    /* "id-qt" */
+    1502,    /* "id-rdna-unsigned" */
      313,    /* "id-regCtrl" */
     1259,    /* "id-regCtrl-algId" */
     1258,    /* "id-regCtrl-altCertTemplate" */
@@ -5866,7 +5874,7 @@ static const unsigned int ln_objs[NUM_LN] = {
      125,    /* "zlib compression" */
 };

-#define NUM_OBJ 1350
+#define NUM_OBJ 1352
 static const unsigned int obj_objs[NUM_OBJ] = {
        0,    /* OBJ_undef                        0 */
      181,    /* OBJ_iso                          1 */
@@ -6695,6 +6703,7 @@ static const unsigned int obj_objs[NUM_OBJ] = {
      324,    /* OBJ_id_alg_noSignature           1 3 6 1 5 5 7 6 2 */
      325,    /* OBJ_id_alg_dh_sig_hmac_sha1      1 3 6 1 5 5 7 6 3 */
      326,    /* OBJ_id_alg_dh_pop                1 3 6 1 5 5 7 6 4 */
+    1503,    /* OBJ_id_alg_unsigned              1 3 6 1 5 5 7 6 36 */
      327,    /* OBJ_id_cmc_statusInfo            1 3 6 1 5 5 7 7 1 */
      328,    /* OBJ_id_cmc_identification        1 3 6 1 5 5 7 7 2 */
      329,    /* OBJ_id_cmc_identityProof         1 3 6 1 5 5 7 7 3 */
@@ -6742,6 +6751,7 @@ static const unsigned int obj_objs[NUM_OBJ] = {
      664,    /* OBJ_id_ppl_anyLanguage           1 3 6 1 5 5 7 21 0 */
      665,    /* OBJ_id_ppl_inheritAll            1 3 6 1 5 5 7 21 1 */
      667,    /* OBJ_Independent                  1 3 6 1 5 5 7 21 2 */
+    1502,    /* OBJ_id_rdna_unsigned             1 3 6 1 5 5 7 25 1 */
      178,    /* OBJ_ad_OCSP                      1 3 6 1 5 5 7 48 1 */
      179,    /* OBJ_ad_ca_issuers                1 3 6 1 5 5 7 48 2 */
      363,    /* OBJ_ad_timeStamping              1 3 6 1 5 5 7 48 3 */
diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num
index e72170b47f..327519580c 100644
--- a/crypto/objects/obj_mac.num
+++ b/crypto/objects/obj_mac.num
@@ -1499,3 +1499,5 @@ HKDF_SHA512		1498
 id_smime_ori		1499
 id_smime_ori_kem		1500
 id_alg_hss_lms_hashsig		1501
+id_rdna_unsigned		1502
+id_alg_unsigned		1503
diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt
index 946cdf5ec6..b9d627e074 100644
--- a/crypto/objects/objects.txt
+++ b/crypto/objects/objects.txt
@@ -499,6 +499,7 @@ id-pkix 11		: id-qcs
 id-pkix 14		: id-cp
 id-pkix 12		: id-cct
 id-pkix 21		: id-ppl
+id-pkix 25 1		: id-rdna-unsigned
 id-pkix 48		: id-ad

 # PKIX Modules
@@ -640,6 +641,7 @@ id-alg 1		: id-alg-des40
 id-alg 2		: id-alg-noSignature
 id-alg 3		: id-alg-dh-sig-hmac-sha1
 id-alg 4		: id-alg-dh-pop
+id-alg 36		: id-alg-unsigned

 # CMC controls
 id-cmc 1		: id-cmc-statusInfo
diff --git a/fuzz/oids.txt b/fuzz/oids.txt
index 5fac3e1c88..f4c1979113 100644
--- a/fuzz/oids.txt
+++ b/fuzz/oids.txt
@@ -1350,3 +1350,5 @@ OBJ_HKDF_SHA512="\x2A\x86\x48\x86\xF7\x0D\x01\x09\x10\x03\x1E"
 OBJ_id_smime_ori="\x2A\x86\x48\x86\xF7\x0D\x01\x09\x10\x0D"
 OBJ_id_smime_ori_kem="\x2A\x86\x48\x86\xF7\x0D\x01\x09\x10\x0D\x03"
 OBJ_id_alg_hss_lms_hashsig="\x2A\x86\x48\x86\xF7\x0D\x01\x09\x10\x03\x11"
+OBJ_id_rdna_unsigned="\x2B\x06\x01\x05\x05\x07\x19\x01"
+OBJ_id_alg_unsigned="\x2B\x06\x01\x05\x05\x07\x06\x24"
diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h
index fd43b9077a..7ab2330dbc 100644
--- a/include/openssl/obj_mac.h
+++ b/include/openssl/obj_mac.h
@@ -1517,6 +1517,10 @@
 #define NID_id_ppl              662
 #define OBJ_id_ppl              OBJ_id_pkix,21L

+#define SN_id_rdna_unsigned             "id-rdna-unsigned"
+#define NID_id_rdna_unsigned            1502
+#define OBJ_id_rdna_unsigned            OBJ_id_pkix,25L,1L
+
 #define SN_id_ad                "id-ad"
 #define NID_id_ad               176
 #define OBJ_id_ad               OBJ_id_pkix,48L
@@ -1965,6 +1969,10 @@
 #define NID_id_alg_dh_pop               326
 #define OBJ_id_alg_dh_pop               OBJ_id_alg,4L

+#define SN_id_alg_unsigned              "id-alg-unsigned"
+#define NID_id_alg_unsigned             1503
+#define OBJ_id_alg_unsigned             OBJ_id_alg,36L
+
 #define SN_id_cmc_statusInfo            "id-cmc-statusInfo"
 #define NID_id_cmc_statusInfo           327
 #define OBJ_id_cmc_statusInfo           OBJ_id_cmc,1L