@@ -599,6 +599,18 @@ signature_scheme(ecdsa_sha1) -> ?ECDSA_SHA1;
599599signature_scheme (mldsa44 ) -> ? MLDSA44 ;
600600signature_scheme (mldsa65 ) -> ? MLDSA65 ;
601601signature_scheme (mldsa87 ) -> ? MLDSA87 ;
602+ signature_scheme (slh_dsa_sha2_128f ) -> ? SLHDSA_SHA2_128F ;
603+ signature_scheme (slh_dsa_sha2_128s ) -> ? SLHDSA_SHA2_128S ;
604+ signature_scheme (slh_dsa_sha2_192f ) -> ? SLHDSA_SHA2_192F ;
605+ signature_scheme (slh_dsa_sha2_192s ) -> ? SLHDSA_SHA2_192S ;
606+ signature_scheme (slh_dsa_sha2_256f ) -> ? SLHDSA_SHA2_256F ;
607+ signature_scheme (slh_dsa_sha2_256s ) -> ? SLHDSA_SHA2_256S ;
608+ signature_scheme (slh_dsa_shake_128f ) -> ? SLHDSA_SHAKE_128F ;
609+ signature_scheme (slh_dsa_shake_128s ) -> ? SLHDSA_SHAKE_128S ;
610+ signature_scheme (slh_dsa_shake_192f ) -> ? SLHDSA_SHAKE_192F ;
611+ signature_scheme (slh_dsa_shake_192s ) -> ? SLHDSA_SHAKE_192S ;
612+ signature_scheme (slh_dsa_shake_256f ) -> ? SLHDSA_SHAKE_256F ;
613+ signature_scheme (slh_dsa_shake_256s ) -> ? SLHDSA_SHAKE_256S ;
602614
603615% % New algorithms on legacy format
604616signature_scheme ({sha512 , rsa_pss_pss }) ->
@@ -641,6 +653,18 @@ signature_scheme(?ECDSA_SHA1) -> ecdsa_sha1;
641653signature_scheme (? MLDSA44 ) -> mldsa44 ;
642654signature_scheme (? MLDSA65 ) -> mldsa65 ;
643655signature_scheme (? MLDSA87 ) -> mldsa87 ;
656+ signature_scheme (? SLHDSA_SHA2_128F ) -> slh_dsa_sha2_128f ;
657+ signature_scheme (? SLHDSA_SHA2_128S ) -> slh_dsa_sha2_128s ;
658+ signature_scheme (? SLHDSA_SHA2_192F ) -> slh_dsa_sha2_192f ;
659+ signature_scheme (? SLHDSA_SHA2_192S ) -> slh_dsa_sha2_192s ;
660+ signature_scheme (? SLHDSA_SHA2_256F ) -> slh_dsa_sha2_256f ;
661+ signature_scheme (? SLHDSA_SHA2_256S ) -> slh_dsa_sha2_256s ;
662+ signature_scheme (? SLHDSA_SHAKE_128F ) -> slh_dsa_shake_128f ;
663+ signature_scheme (? SLHDSA_SHAKE_128S ) -> slh_dsa_shake_128s ;
664+ signature_scheme (? SLHDSA_SHAKE_192F ) -> slh_dsa_shake_192f ;
665+ signature_scheme (? SLHDSA_SHAKE_192S ) -> slh_dsa_shake_192s ;
666+ signature_scheme (? SLHDSA_SHAKE_256F ) -> slh_dsa_shake_256f ;
667+ signature_scheme (? SLHDSA_SHAKE_256S ) -> slh_dsa_shake_256s ;
644668
645669% % Handling legacy signature algorithms for logging purposes. These algorithms
646670% % cannot be used in TLS 1.3 handshakes.
@@ -712,6 +736,18 @@ scheme_to_components(ecdsa_sha1) -> {sha, ecdsa, undefined};
712736scheme_to_components (mldsa44 ) -> {none , mldsa44 , undefined };
713737scheme_to_components (mldsa65 ) -> {none , mldsa65 , undefined };
714738scheme_to_components (mldsa87 ) -> {none , mldsa87 , undefined };
739+ scheme_to_components (slh_dsa_sha2_128f = Scheme ) -> {Scheme , slhdsa , undefined };
740+ scheme_to_components (slh_dsa_sha2_128s = Scheme ) -> {Scheme , slhdsa , undefined };
741+ scheme_to_components (slh_dsa_sha2_192f = Scheme ) -> {Scheme , slhdsa , undefined };
742+ scheme_to_components (slh_dsa_sha2_192s = Scheme ) -> {Scheme , slhdsa , undefined };
743+ scheme_to_components (slh_dsa_sha2_256f = Scheme ) -> {Scheme , slhdsa , undefined };
744+ scheme_to_components (slh_dsa_sha2_256s = Scheme ) -> {Scheme , slhdsa , undefined };
745+ scheme_to_components (slh_dsa_shake_128f = Scheme ) -> {Scheme , slhdsa , undefined };
746+ scheme_to_components (slh_dsa_shake_128s = Scheme ) -> {Scheme , slhdsa , undefined };
747+ scheme_to_components (slh_dsa_shake_192f = Scheme ) -> {Scheme , slhdsa , undefined };
748+ scheme_to_components (slh_dsa_shake_192s = Scheme ) -> {Scheme , slhdsa , undefined };
749+ scheme_to_components (slh_dsa_shake_256f = Scheme ) -> {Scheme , slhdsa , undefined };
750+ scheme_to_components (slh_dsa_shake_256s = Scheme ) -> {Scheme , slhdsa , undefined };
715751% % Handling legacy signature algorithms
716752scheme_to_components ({Hash ,Sign }) -> {Hash , Sign , undefined }.
717753
@@ -890,6 +926,30 @@ signature_algorithm_to_scheme(#'SignatureAlgorithm'{algorithm = ?'id-ml-dsa-65'}
890926 mldsa65 ;
891927signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-ml-dsa-87' }) ->
892928 mldsa87 ;
929+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-256f' }) ->
930+ slh_dsa_shake_256f ;
931+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-192f' }) ->
932+ slh_dsa_shake_192f ;
933+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-128f' }) ->
934+ slh_dsa_shake_128f ;
935+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-256s' }) ->
936+ slh_dsa_shake_256s ;
937+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-192s' }) ->
938+ slh_dsa_shake_192s ;
939+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-shake-128s' }) ->
940+ slh_dsa_shake_128s ;
941+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-256f' }) ->
942+ slh_dsa_sha2_256f ;
943+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-192f' }) ->
944+ slh_dsa_sha2_192f ;
945+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-128f' }) ->
946+ slh_dsa_sha2_128f ;
947+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-256s' }) ->
948+ slh_dsa_sha2_256s ;
949+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-192s' }) ->
950+ slh_dsa_sha2_192s ;
951+ signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ?'id-slh-dsa-sha2-128s' }) ->
952+ slh_dsa_sha2_128s ;
893953signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ? sha256WithRSAEncryption }) ->
894954 rsa_pkcs1_sha256 ;
895955signature_algorithm_to_scheme (# 'SignatureAlgorithm' {algorithm = ? sha384WithRSAEncryption }) ->
0 commit comments