Skip to content

Commit f565dec

Browse files
committed
adapted EE policy
do not know if a CA policy is needed!
1 parent 0f36eee commit f565dec

File tree

1 file changed

+19
-16
lines changed
  • src/cryptography/hazmat/primitives/serialization

1 file changed

+19
-16
lines changed

src/cryptography/hazmat/primitives/serialization/pkcs7.py

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,29 +70,32 @@ def pkcs7_x509_extension_policies() -> tuple[ExtensionPolicy, ExtensionPolicy]:
7070
- EKU_EMAIL_PROTECTION_OID is required
7171
"""
7272

73-
# CA policy
74-
def _validate_ca(
75-
policy: Policy, cert: Certificate, bc: x509.BasicConstraints
76-
):
77-
assert not bc.ca
78-
79-
ca_policy = ExtensionPolicy.permit_all().require_present(
80-
x509.BasicConstraints,
81-
Criticality.AGNOSTIC,
82-
_validate_ca,
83-
)
73+
# CA policy - TODO: is there any?
74+
ca_policy = ExtensionPolicy.permit_all()
8475

8576
# EE policy
8677
def _validate_eku(
8778
policy: Policy, cert: Certificate, eku: x509.ExtendedKeyUsage
8879
):
89-
# Checking for EKU_EMAIL_PROTECTION_OID
9080
assert x509.ExtendedKeyUsageOID.EMAIL_PROTECTION in eku # type: ignore[attr-defined]
9181

92-
ee_policy = ExtensionPolicy.permit_all().require_present(
93-
x509.ExtendedKeyUsage,
94-
Criticality.AGNOSTIC,
95-
_validate_eku,
82+
def _validate_ca(
83+
policy: Policy, cert: Certificate, bc: x509.BasicConstraints
84+
):
85+
assert not bc.ca
86+
87+
ee_policy = (
88+
ExtensionPolicy.permit_all()
89+
.require_present(
90+
x509.ExtendedKeyUsage,
91+
Criticality.AGNOSTIC,
92+
_validate_eku,
93+
)
94+
.may_be_present(
95+
x509.BasicConstraints,
96+
Criticality.AGNOSTIC,
97+
_validate_ca,
98+
)
9699
)
97100

98101
return ca_policy, ee_policy

0 commit comments

Comments
 (0)