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