Commit 38b3c3e
Replace liboqs SPHINCS+ with native SLH-DSA in certificate layer
Replace the liboqs-based pre-standardization SPHINCS+ implementation
with the native FIPS 205 SLH-DSA implementation across the
certificate/ASN.1/X.509 layers. All liboqs SPHINCS+ code is removed.
This PR enables SLH-DSA for certificate chain authentication (CA
certificates signed with SLH-DSA, certificate verification). TLS 1.3
entity authentication via CertificateVerify with SLH-DSA will be
added in a follow-up PR.
Follows RFC 9909 (X.509 Algorithm Identifiers for SLH-DSA).
Changes:
- New DER codec for SLH-DSA (PrivateKeyDecode, PublicKeyDecode,
KeyToDer, PrivateKeyToDer, PublicKeyToDer) with RFC 9909 compliant
encoding (bare OCTET STRING, no nested wrapper) and OID auto-
detection across all 6 SHAKE parameter sets
- 12 standardized NIST OIDs (6 SHA2 + 6 SHAKE) per RFC 9909
- Complete ASN.1 layer replacement (~500 lines in asn.c)
- X.509 public key handling in x509.c
- OID collision mechanism cleaned up (NIST OIDs don't collide)
- DER round-trip test for all compiled-in parameter sets
- SLH-DSA test cert chain generated with OpenSSL 3.5
- All build system/IDE project files updated
- SPHINCS+ source files, headers, and test data removed
https://claude.ai/code/session_019gqvW3ZMKGGyi6zCRNPDYV1 parent b44d8c6 commit 38b3c3e
59 files changed
Lines changed: 1377 additions & 2579 deletions
File tree
- IDE
- Espressif/ESP-IDF/examples
- template/components/wolfssl
- wolfssl_benchmark/components/wolfssl
- wolfssl_client/components/wolfssl
- wolfssl_server/components/wolfssl
- wolfssl_test/components/wolfssl
- INTIME-RTOS
- MPLABX16/wolfssl.X/nbproject
- Renesas/e2studio/SK-S7G2/wolfssl_lib
- XCODE
- wolfssl-FIPS.xcodeproj
- wolfssl.xcodeproj
- certs
- slhdsa
- sphincs
- cmake
- doc/dox_comments/header_files
- rpm
- scripts
- src
- tests/api
- wolfcrypt
- benchmark
- src
- wolfssl
- wolfcrypt
- wrapper/CSharp
- zephyr
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
835 | 835 | | |
836 | 836 | | |
837 | 837 | | |
838 | | - | |
839 | 838 | | |
840 | 839 | | |
841 | 840 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | 248 | | |
250 | 249 | | |
251 | 250 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | 248 | | |
250 | 249 | | |
251 | 250 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | 248 | | |
250 | 249 | | |
251 | 250 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | 248 | | |
250 | 249 | | |
251 | 250 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | | - | |
249 | 248 | | |
250 | 249 | | |
251 | 250 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
323 | | - | |
324 | 323 | | |
325 | 324 | | |
326 | 325 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
112 | 111 | | |
113 | 112 | | |
114 | 113 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
| |||
0 commit comments