Skip to content

Commit 0a89345

Browse files
authored
Merge pull request redpanda-data#24094 from IoannisRP/ik-fix-pkcs12-test
[CORE-7766] dt: disable pkcs12 test in fips mode
2 parents 6924b5b + 41126c9 commit 0a89345

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

tests/rptest/tests/pkcs12_test.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import socket
1111

1212
from ducktape.cluster.cluster import ClusterNode
13-
from ducktape.mark import matrix
1413
from ducktape.services.service import Service
14+
from rptest.utils.mode_checks import skip_fips_mode
1515
from rptest.clients.rpk import RpkTool
1616
from rptest.services.admin import Admin
1717
from rptest.services.cluster import cluster
@@ -21,9 +21,8 @@
2121

2222

2323
class P12TLSProvider(TLSProvider):
24-
def __init__(self, tls: TLSCertManager, use_pkcs12: bool):
24+
def __init__(self, tls: TLSCertManager):
2525
self.tls = tls
26-
self.use_pkcs12 = use_pkcs12
2726

2827
@property
2928
def ca(self) -> CertificateAuthority:
@@ -40,7 +39,7 @@ def create_service_client_cert(self, _: Service, name: str) -> Certificate:
4039
common_name=name)
4140

4241
def use_pkcs12_file(self) -> bool:
43-
return self.use_pkcs12
42+
return True
4443

4544
def p12_password(self, node: ClusterNode) -> str:
4645
assert node.name in self.tls.certs, f"No certificate associated with node {node.name}"
@@ -63,9 +62,9 @@ def setUp(self):
6362
# Skip set up to allow test to control how Redpanda's TLS settings are configured
6463
pass
6564

66-
def _prepare_cluster(self, use_pkcs12: bool):
65+
def _prepare_cluster(self):
6766
self.tls = TLSCertManager(self.logger)
68-
self.provider = P12TLSProvider(self.tls, use_pkcs12)
67+
self.provider = P12TLSProvider(self.tls)
6968
self.user_cert = self.tls.create_cert(socket.gethostname(),
7069
common_name="walterP",
7170
name="user")
@@ -86,13 +85,18 @@ def _prepare_cluster(self, use_pkcs12: bool):
8685
self.admin.create_user("walterP", self.password, self.algorithm)
8786
self.rpk = RpkTool(self.redpanda, tls_cert=self.user_cert)
8887

88+
# This should be revisited when OpenSSL has been upgraded to 3.4+
89+
# Until then, the pkcs#12 file generated by OpenSSL is not FIPS compliant
90+
# as it uses the PKCS12KDF MAC which is not an approved FIPS algorithm.
91+
# Some further reading can be found here:
92+
# https://www.redhat.com/en/blog/fips-140-3-changes-pkcs-12
93+
@skip_fips_mode
8994
@cluster(num_nodes=3)
90-
@matrix(use_pkcs12=[True, False])
91-
def test_smoke(self, use_pkcs12: bool):
95+
def test_smoke(self):
9296
"""
9397
Simple smoke test to verify that the PKCS12 file is being used
9498
"""
95-
self._prepare_cluster(use_pkcs12)
99+
self._prepare_cluster()
96100
TOPIC_NAME = "foo"
97101
self.rpk.create_topic(TOPIC_NAME)
98102
topics = [t for t in self.rpk.list_topics()]

0 commit comments

Comments
 (0)