Skip to content

Commit 6f1b76f

Browse files
committed
add test for ingress Post Quantum curves support
Signed-off-by: Evgeny Slutsky <eslutsky@redhat.com>
1 parent 0852771 commit 6f1b76f

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

test/suites/optional/tls-scanner.robot

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ TLS Scanner Host Scan Completes And Produces Artifacts
4949
... Cleanup TLS Scanner Job
5050
... Ensure Cluster Reader Role Deleted
5151

52+
Ingress Router TLS Curves supports ML-KEM Post Quantum Curves
53+
[Documentation] Verify TLS curve negotiation with openssl from inside the router pod.
54+
Verify ML-KEM Post Quantum Curve Negotiation
5255

5356
*** Keywords ***
5457
Check Required Scanner Variables
@@ -123,3 +126,19 @@ Cleanup TLS Scanner Job
123126
IF '${TLS_SCANNER_DIR}' != ''
124127
Run Keyword And Ignore Error Remove Directory ${TLS_SCANNER_DIR} recursive=True
125128
END
129+
130+
Verify ML-KEM Post Quantum Curve Negotiation
131+
[Documentation] Verify X25519MLKEM768 post-quantum hybrid key exchange
132+
... negotiates successfully via oc exec into the router pod, which
133+
... has OpenSSL 3.5+ (the host OpenSSL may be too old for ML-KEM).
134+
... Skipped on FIPS clusters where ML-KEM is not configured.
135+
${router_ip}= Oc Get JsonPath svc openshift-ingress router-default
136+
... .spec.clusterIP
137+
${pod_name}= Oc Get JsonPath pod openshift-ingress ${EMPTY}
138+
... .items[0].metadata.name
139+
${output}= Oc Exec ${pod_name}
140+
... echo Q | openssl s_client -connect ${router_ip}:443 -groups X25519MLKEM768 2>&1 || true
141+
... ns=openshift-ingress
142+
Should Contain ${output} Negotiated TLS1.3 group: X25519MLKEM768
143+
... msg=ML-KEM post-quantum curve X25519MLKEM768 negotiation failed
144+
Log Post-quantum ML-KEM negotiation verified: OK

0 commit comments

Comments
 (0)