Skip to content

Commit b084d3a

Browse files
committed
Fixed issue with certificate requests and key types
Fixed an issue when creating a certificate request with key types. The Key Type structure was not being created correctly
1 parent 4c65842 commit b084d3a

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

vcert/connection_cloud.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -933,12 +933,16 @@ def _get_service_generated_csr_attr(self, request, zone):
933933
csr_attr_map[CSR_ATTR_COUNTRY] = ps.defaults.subject.country
934934

935935
if len(request.san_dns) > 0:
936-
sans = {
937-
CSR_ATTR_SANS_DNS: request.san_dns,
938-
CSR_ATTR_SANS_IP_ADDR: request.ip_addresses,
939-
CSR_ATTR_SANS_EMAIL_ADDR: request.email_addresses,
940-
CSR_ATTR_SANS_URIS: request.uniform_resource_identifiers
941-
}
936+
sans = dict()
937+
if request.san_dns and len(request.san_dns) > 0:
938+
sans[CSR_ATTR_SANS_DNS] = request.san_dns
939+
if request.ip_addresses and len(request.ip_addresses) > 0:
940+
sans[CSR_ATTR_SANS_IP_ADDR] = request.ip_addresses
941+
if request.email_addresses and len(request.email_addresses) > 0:
942+
sans[CSR_ATTR_SANS_EMAIL_ADDR] = request.email_addresses
943+
if request.uniform_resource_identifiers and len(request.uniform_resource_identifiers) > 0:
944+
sans[CSR_ATTR_SANS_URIS] = request.uniform_resource_identifiers
945+
942946
csr_attr_map[CSR_ATTR_SANS_BY_TYPE] = sans
943947

944948
if request.key_type:
@@ -953,7 +957,7 @@ def _get_service_generated_csr_attr(self, request, zone):
953957
req_kt_option = request.key_type.option
954958
if request.key_type.key_type.lower() == KeyType.RSA:
955959
policy_rsa_sizes = ps.policy.key_pair.rsa_key_sizes
956-
valid = value_matches_regex(value=req_kt_option, pattern_list=policy_rsa_sizes)
960+
valid = True if req_kt_option in policy_rsa_sizes else False
957961
if not valid:
958962
rsa_str = "RSA Key Size"
959963
log.error(MSG_VALUE_NOT_MATCH_POLICY.format(rsa_str, f"{rsa_str}s", req_kt_option,
@@ -970,11 +974,11 @@ def _get_service_generated_csr_attr(self, request, zone):
970974
kt_param = {
971975
CSR_ATTR_KEY_TYPE: request.key_type.key_type.upper()
972976
}
973-
kt_option = request.key_type.option.upper()
977+
kt_option = request.key_type.key_type.lower()
974978
if kt_option == KeyType.RSA:
975-
kt_param[CSR_ATTR_KEY_LENGTH] = kt_option
979+
kt_param[CSR_ATTR_KEY_LENGTH] = request.key_type.option
976980
elif request.key_type.key_type == KeyType.ECDSA:
977-
kt_param[CSR_ATTR_KEY_CURVE] = kt_option
981+
kt_param[CSR_ATTR_KEY_CURVE] = request.key_type.option
978982

979983
csr_attr_map[CSR_ATTR_KEY_TYPE_PARAMS] = kt_param
980984
elif ps.defaults and ps.defaults.key_pair:

0 commit comments

Comments
 (0)