]> git.ipfire.org Git - thirdparty/openssl.git/commit
Added LMS support for OpenSSL commandline signature verification using pkeyutl.
authorslontis <shane.lontis@oracle.com>
Fri, 12 Dec 2025 02:52:25 +0000 (13:52 +1100)
committerMatt Caswell <matt@openssl.org>
Fri, 27 Feb 2026 14:39:57 +0000 (14:39 +0000)
commit3d82b990d1fdd7b8af23d69f140cd4aff56ee6ad
tree7e49069dc021f76a848aad23f0d647c41dd08e0e
parentfc15338f908c179d6ce3f05dccc07040c3634d19
Added LMS support for OpenSSL commandline signature verification using pkeyutl.

Added LMS 'SubjectPublicKeyInfo' encoder/decoder support.
Modified LMS keymanager and signature code to work with pkey and
pkeyutl.

Test data for public keys and signatures were generated by modifying
BouncyCastle code tests.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Fri Feb 27 14:40:27 2026
(Merged from https://github.com/openssl/openssl/pull/29381)
56 files changed:
CHANGES.md
crypto/lms/lms_key.c
crypto/lms/lms_params.c
doc/man7/EVP_PKEY-LMS.pod
doc/man7/EVP_SIGNATURE-LMS.pod
doc/man7/OSSL_PROVIDER-base.pod
doc/man7/OSSL_PROVIDER-default.pod
include/crypto/lms.h
providers/implementations/encode_decode/build.info
providers/implementations/encode_decode/decode_der2key.c
providers/implementations/encode_decode/encode_key2any.c
providers/implementations/encode_decode/encode_key2text.c
providers/implementations/encode_decode/lms_codecs.c [new file with mode: 0644]
providers/implementations/include/prov/implementations.h
providers/implementations/include/prov/lms_codecs.h [new file with mode: 0644]
providers/implementations/include/prov/names.h
providers/implementations/keymgmt/lms_kmgmt.c
providers/implementations/keymgmt/lms_kmgmt.inc.in
providers/implementations/signature/lms_signature.c
test/lms_test.c
test/recipes/15-test_lms_codecs.t [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/sha256_n24_w1_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/sha256_n24_w1_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/sha256_n24_w1_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/sha256_n24_w1_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/sha256_n24_w1_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w1_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w1_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w1_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w1_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w1_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w2_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w2_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w2_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w2_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w2_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w4_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w4_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w4_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w4_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w4_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w8_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w8_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w8_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w8_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n24_w8_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w1_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w1_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w1_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w1_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w1_sig.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w8_msg.bin [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w8_pub.der [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w8_pub.pem [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w8_pub.txt [new file with mode: 0644]
test/recipes/15-test_lms_codecs_data/shake_n32_w8_sig.bin [new file with mode: 0644]