Commit c9d8dae
committed
Improve CertificateVerify record fragmentation for large PQC sigs
Refine the record fragmentation approach for CertificateVerify
messages that exceed MAX_RECORD_SIZE (16384 bytes). Each fragment
is encrypted via BuildTls13Message with hashOutput=1, matching the
per-fragment incremental hashing approach used by SendTls13Certificate.
This correctly handles SLH-DSA-SHAKE-128s (7856-byte sig, single
record) and sends SLH-DSA-SHAKE-128f (17088-byte sig) across two
records. However, the client-side signature verification still fails
for the 128f case - the signature and transcript data arrive correctly
(verified via debug logging) but wc_SlhDsaKey_Verify returns error.
Further investigation needed into whether the client-side handshake
message reassembly corrupts the signature bytes or the peer public
key extraction from fragmented Certificate messages is affected.
The 128s variant and all OQS interop tests continue to work correctly.
https://claude.ai/code/session_019gqvW3ZMKGGyi6zCRNPDYV1 parent 63da747 commit c9d8dae
1 file changed
Lines changed: 26 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10258 | 10258 | | |
10259 | 10259 | | |
10260 | 10260 | | |
10261 | | - | |
10262 | | - | |
10263 | | - | |
10264 | | - | |
10265 | | - | |
10266 | | - | |
| 10261 | + | |
| 10262 | + | |
| 10263 | + | |
| 10264 | + | |
10267 | 10265 | | |
10268 | | - | |
10269 | | - | |
10270 | | - | |
| 10266 | + | |
| 10267 | + | |
| 10268 | + | |
| 10269 | + | |
| 10270 | + | |
10271 | 10271 | | |
10272 | 10272 | | |
10273 | | - | |
10274 | | - | |
10275 | 10273 | | |
10276 | 10274 | | |
10277 | 10275 | | |
10278 | | - | |
10279 | | - | |
10280 | | - | |
10281 | | - | |
10282 | | - | |
10283 | | - | |
10284 | | - | |
| 10276 | + | |
| 10277 | + | |
| 10278 | + | |
| 10279 | + | |
| 10280 | + | |
| 10281 | + | |
| 10282 | + | |
| 10283 | + | |
| 10284 | + | |
| 10285 | + | |
| 10286 | + | |
| 10287 | + | |
| 10288 | + | |
| 10289 | + | |
| 10290 | + | |
10285 | 10291 | | |
10286 | 10292 | | |
10287 | 10293 | | |
| |||
10293 | 10299 | | |
10294 | 10300 | | |
10295 | 10301 | | |
10296 | | - | |
10297 | 10302 | | |
10298 | | - | |
| 10303 | + | |
10299 | 10304 | | |
10300 | | - | |
10301 | 10305 | | |
10302 | 10306 | | |
10303 | | - | |
10304 | 10307 | | |
10305 | 10308 | | |
10306 | 10309 | | |
10307 | | - | |
| 10310 | + | |
10308 | 10311 | | |
10309 | 10312 | | |
10310 | 10313 | | |
| |||
10314 | 10317 | | |
10315 | 10318 | | |
10316 | 10319 | | |
10317 | | - | |
10318 | 10320 | | |
10319 | 10321 | | |
10320 | 10322 | | |
| |||
0 commit comments