Skip to content

Document RSA-PSS signing for TLS 1.3 RSA client authentication - #43

Open
EdouardMALOT wants to merge 1 commit into
eclipse-threadx:mainfrom
EdouardMALOT:docs/tls13-rsa-pss-client-signing
Open

Document RSA-PSS signing for TLS 1.3 RSA client authentication#43
EdouardMALOT wants to merge 1 commit into
eclipse-threadx:mainfrom
EdouardMALOT:docs/tls13-rsa-pss-client-signing

Conversation

@EdouardMALOT

Copy link
Copy Markdown

Summary

The "TLS 1.3 and X.509 Updates" section of netx-duo-secure-tls/chapter2.adoc documents RSA-PSS signature verification only — the half that lets a TLS 1.3 client check the CertificateVerify sent by a server presenting an RSA certificate (eclipse-threadx/netxduo#377).

eclipse-threadx/netxduo#399 adds the signing half, so a client holding an RSA certificate can authenticate itself when the server requests a client certificate. This PR documents it, as requested in eclipse-threadx/netxduo#399 (comment).

Changes

rtos-docs/netx-duo/modules/ROOT/pages/netx-duo-secure-tls/chapter2.adoc, section "TLS 1.3 and X.509 Updates":

  • The existing paragraph keeps its content; its closing claim that TLS 1.3 RSA certificate support is complete moves to the new text, since signing was the part still missing.
  • A new paragraph covers client-side signing: the rsa_pss_rsae_sha256 scheme (0x0804) the client selects and why RFC 8446 §9.1 makes it mandatory to implement, the salt length required by §4.2.3, that no application change is needed beyond the usual nx_secure_tls_local_certificate_add(), and the NX_SECURE_TLS_UNSUPPORTED_CERT_SIGN_ALG behaviour when the server does not advertise the scheme.
  • A third paragraph records the scope: rsa_pss_rsae_sha384/sha512 are handled by the CertificateVerify encoding, RSASSA-PSS certificates (rsa_pss_pss_*, 0x0809–0x080B) are out of scope, and signing keys are capped at 4096 bits.

Text only — no structural or build changes.

Related: eclipse-threadx/netxduo#399, eclipse-threadx/netxduo#377

The "TLS 1.3 and X.509 Updates" section covered RSA-PSS signature
verification only, which is the server-facing half: it lets a TLS 1.3 client
check the CertificateVerify sent by a server presenting an RSA certificate.

eclipse-threadx/netxduo#399 adds the signing half, so a client holding an RSA
certificate can authenticate itself when the server asks for one. Document
it: the rsa_pss_rsae_sha256 scheme the client selects and why RFC 8446
mandates it, that no application change is needed beyond the usual
nx_secure_tls_local_certificate_add(), what happens when the server does not
advertise the scheme, the two other rsae schemes the encoding handles, and
the two limits - RSASSA-PSS certificates are out of scope, and signing keys
are capped at 4096 bits.

The claim that TLS 1.3 RSA certificate support was already complete moved to
the new paragraph, since signing was the part still missing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant