Skip to content

Commit 82583e6

Browse files
committed
Remove prefix 16 from organization number in Expitrust certs
1 parent 36a8691 commit 82583e6

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/auth_server/cert_utils.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def cert_within_validity_period(cert: Certificate) -> bool:
3939
check if certificate is within the validity period
4040
"""
4141
cert_fingerprint = rfc8705_fingerprint(cert)
42-
now = datetime.utcnow()
42+
now = datetime.utcnow() # datetimes in cert are not timezone aware
4343
if now < cert.not_valid_before:
4444
logger.error(f"Certificate {cert_fingerprint} not valid before {cert.not_valid_before}")
4545
return False
@@ -117,13 +117,14 @@ def get_org_id_from_cert(cert: Certificate, ca_name: str) -> Optional[str]:
117117

118118
def get_org_id_expitrust(cert: Certificate) -> Optional[str]:
119119
"""
120-
The org number is just the serial number of the certificate.
120+
The org number is the serial number of the certificate with prefix 16.
121121
"""
122122
cert_fingerprint = rfc8705_fingerprint(cert)
123123
serial_number = get_oid_for_name(x509_name=cert.subject, oid=OID_SERIAL_NUMBER)
124124
if serial_number is None:
125125
logger.error(f"certificate {cert_fingerprint} has no subject serial number")
126-
return serial_number
126+
return None
127+
return serial_number.removeprefix("16")
127128

128129

129130
def get_org_id_siths(cert: Certificate) -> Optional[str]:

src/auth_server/tests/test_ca_flow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def _do_mtls_transaction(self, cert: Certificate) -> Response:
144144

145145
def test_mtls_transaction(self):
146146
parameters = [
147-
("bolag_a.crt", True, "SE165560000167"),
147+
("bolag_a.crt", True, "SE5560000167"),
148148
("bolag_b.crt", False, "client certificate revoked"),
149149
("bolag_c.crt", False, "client certificate expired or not yet valid"),
150150
("bolag_e.crt", False, "client certificate expired or not yet valid"),

0 commit comments

Comments
 (0)