Skip to content

Commit a0da786

Browse files
rkachachKushal-deb
authored andcommitted
mgr/cephadm: fixing generate_cert to pick the right root subject
This cherry-picked change: Ensures upgrade safety by reusing the subject from the already-loaded root certificate instead of hardcoding a new one. (commit 918d0ac) Signed-off-by: Redouane Kachach <[email protected]> Signed-off-by: Kushal Deb <[email protected]>
1 parent f7270c4 commit a0da786

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/pybind/mgr/cephadm/ssl_cert_utils.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,11 +197,8 @@ def generate_cert(
197197
public_key = private_key.public_key()
198198

199199
builder = x509.CertificateBuilder()
200-
root_ca_name = x509.Name([
201-
x509.NameAttribute(NameOID.COMMON_NAME, f'cephadm-root-{self.cluster_fsid}'),
202-
])
203200
builder = builder.subject_name(x509.Name([x509.NameAttribute(NameOID.COMMON_NAME, addrs[0]), ]))
204-
builder = builder.issuer_name(root_ca_name)
201+
builder = builder.issuer_name(self.get_root_issuer_name())
205202
builder = builder.not_valid_before(datetime.now())
206203
builder = builder.not_valid_after(datetime.now() + timedelta(days=self.certificate_duration_days))
207204
builder = builder.serial_number(x509.random_serial_number())
@@ -298,6 +295,11 @@ def get_root_cert(self) -> str:
298295
except AttributeError:
299296
return ''
300297

298+
def get_root_issuer_name(self) -> x509.Name:
299+
if not self.root_cert:
300+
raise SSLConfigException("Root certificate not initialized.")
301+
return self.root_cert.subject
302+
301303
def get_root_key(self) -> str:
302304
try:
303305
return self.root_key.private_bytes(

0 commit comments

Comments
 (0)