From 9bd2f96139a3fd0efa0130ddaee3ef296fa0b633 Mon Sep 17 00:00:00 2001 From: slontis Date: Mon, 12 Jan 2026 16:52:56 +1100 Subject: [PATCH] Add an OID for "id-alg-hss-lms-hashsig" Reviewed-by: Dmitry Belyavskiy Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz MergeDate: Tue Jan 13 10:13:35 2026 (Merged from https://github.com/openssl/openssl/pull/29599) --- crypto/objects/obj_dat.h | 17 +++++++++++------ crypto/objects/obj_mac.num | 1 + crypto/objects/obj_xref.h | 2 +- crypto/objects/objects.txt | 1 + fuzz/oids.txt | 3 ++- include/openssl/obj_mac.h | 6 +++++- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index 40d6f9ca4d..d6ac8a446b 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/objects/obj_dat.pl * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at @@ -10,7 +10,7 @@ */ /* Serialized OID's */ -static const unsigned char so[9571] = { +static const unsigned char so[9582] = { 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 */ @@ -1353,9 +1353,10 @@ static const unsigned char so[9571] = { 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x03,0x1E, /* [ 9538] OBJ_HKDF_SHA512 */ 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 */ }; -#define NUM_NID 1501 +#define NUM_NID 1502 static const ASN1_OBJECT nid_objs[NUM_NID] = { {"UNDEF", "undefined", NID_undef}, {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]}, @@ -2858,9 +2859,10 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"id-alg-hkdf-with-sha512", "HKDF-SHA512", NID_HKDF_SHA512, 11, &so[9538]}, {"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]}, }; -#define NUM_SN 1492 +#define NUM_SN 1493 static const unsigned int sn_objs[NUM_SN] = { 364, /* "AD_DVCS" */ 419, /* "AES-128-CBC" */ @@ -3493,6 +3495,7 @@ static const unsigned int sn_objs[NUM_SN] = { 1496, /* "id-alg-hkdf-with-sha256" */ 1497, /* "id-alg-hkdf-with-sha384" */ 1498, /* "id-alg-hkdf-with-sha512" */ + 1501, /* "id-alg-hss-lms-hashsig" */ 1456, /* "id-alg-ml-kem-1024" */ 1454, /* "id-alg-ml-kem-512" */ 1455, /* "id-alg-ml-kem-768" */ @@ -4356,7 +4359,7 @@ static const unsigned int sn_objs[NUM_SN] = { 1289, /* "zstd" */ }; -#define NUM_LN 1492 +#define NUM_LN 1493 static const unsigned int ln_objs[NUM_LN] = { 363, /* "AD Time Stamping" */ 405, /* "ANSI X9.62" */ @@ -5185,6 +5188,7 @@ static const unsigned int ln_objs[NUM_LN] = { 323, /* "id-alg-des40" */ 326, /* "id-alg-dh-pop" */ 325, /* "id-alg-dh-sig-hmac-sha1" */ + 1501, /* "id-alg-hss-lms-hashsig" */ 324, /* "id-alg-noSignature" */ 907, /* "id-camellia128-wrap" */ 908, /* "id-camellia192-wrap" */ @@ -5852,7 +5856,7 @@ static const unsigned int ln_objs[NUM_LN] = { 125, /* "zlib compression" */ }; -#define NUM_OBJ 1349 +#define NUM_OBJ 1350 static const unsigned int obj_objs[NUM_OBJ] = { 0, /* OBJ_undef 0 */ 181, /* OBJ_iso 1 */ @@ -7166,6 +7170,7 @@ static const unsigned int obj_objs[NUM_OBJ] = { 247, /* OBJ_id_smime_alg_CMSRC2wrap 1 2 840 113549 1 9 16 3 7 */ 125, /* OBJ_zlib_compression 1 2 840 113549 1 9 16 3 8 */ 893, /* OBJ_id_alg_PWRI_KEK 1 2 840 113549 1 9 16 3 9 */ + 1501, /* OBJ_id_alg_hss_lms_hashsig 1 2 840 113549 1 9 16 3 17 */ 1496, /* OBJ_HKDF_SHA256 1 2 840 113549 1 9 16 3 28 */ 1497, /* OBJ_HKDF_SHA384 1 2 840 113549 1 9 16 3 29 */ 1498, /* OBJ_HKDF_SHA512 1 2 840 113549 1 9 16 3 30 */ diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index b48d054d32..e72170b47f 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1498,3 +1498,4 @@ HKDF_SHA384 1497 HKDF_SHA512 1498 id_smime_ori 1499 id_smime_ori_kem 1500 +id_alg_hss_lms_hashsig 1501 diff --git a/crypto/objects/obj_xref.h b/crypto/objects/obj_xref.h index fed298906e..72e6c6846f 100644 --- a/crypto/objects/obj_xref.h +++ b/crypto/objects/obj_xref.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by objxref.pl * - * Copyright 1998-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index feed79b673..946cdf5ec6 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -337,6 +337,7 @@ id-smime-alg 5 : id-smime-alg-ESDH id-smime-alg 6 : id-smime-alg-CMS3DESwrap id-smime-alg 7 : id-smime-alg-CMSRC2wrap id-smime-alg 9 : id-alg-PWRI-KEK +id-smime-alg 17 : id-alg-hss-lms-hashsig id-smime-alg 28 : id-alg-hkdf-with-sha256 : HKDF-SHA256 id-smime-alg 29 : id-alg-hkdf-with-sha384 : HKDF-SHA384 id-smime-alg 30 : id-alg-hkdf-with-sha512 : HKDF-SHA512 diff --git a/fuzz/oids.txt b/fuzz/oids.txt index b299cc2d64..5fac3e1c88 100644 --- a/fuzz/oids.txt +++ b/fuzz/oids.txt @@ -1,7 +1,7 @@ # WARNING: do not edit! # Generated by fuzz/mkfuzzoids.pl # -# Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1349,3 +1349,4 @@ OBJ_HKDF_SHA384="\x2A\x86\x48\x86\xF7\x0D\x01\x09\x10\x03\x1D" 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" diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index 236e88fdfc..fbaafbaef0 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/objects/objects.pl * - * Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved. * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at @@ -1066,6 +1066,10 @@ #define NID_id_alg_PWRI_KEK 893 #define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L +#define SN_id_alg_hss_lms_hashsig "id-alg-hss-lms-hashsig" +#define NID_id_alg_hss_lms_hashsig 1501 +#define OBJ_id_alg_hss_lms_hashsig OBJ_id_smime_alg,17L + #define SN_HKDF_SHA256 "id-alg-hkdf-with-sha256" #define LN_HKDF_SHA256 "HKDF-SHA256" #define NID_HKDF_SHA256 1496