summaryrefslogtreecommitdiff
path: root/keystone
diff options
context:
space:
mode:
authorHiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>2023-03-17 23:16:04 +0900
committerHiromu Asahina <hiromu.asahina.az@hco.ntt.co.jp>2023-03-17 23:48:02 +0900
commitf5db9801c23bde15d162a67d4fd6621e5bd09719 (patch)
tree3afe3dda1df8c8ebd6810d155bc3df982ef9e0b7 /keystone
parentc08d97672dcd40f8d927f91e59049053cfe3b5e4 (diff)
downloadkeystone-f5db9801c23bde15d162a67d4fd6621e5bd09719.tar.gz
Remove Dependency on Cryptography >=36.0.0
The mTLS OAuth2.0 in Keystone uses a parameter that is only availble on cryptography 36.0.0 or later. Users may have to upgrade cryptography which is already installed, which can be unreasonably hassle. This patch introduces an alternative for that parameter. [1] https://cryptography.io/en/latest/changelog/#v36-0-0 Closes-bug: 2009600 Change-Id: Idffe269b62797bb2935429f4069e878a177db04f
Diffstat (limited to 'keystone')
-rw-r--r--keystone/common/utils.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/keystone/common/utils.py b/keystone/common/utils.py
index 792c17951..3f8088f27 100644
--- a/keystone/common/utils.py
+++ b/keystone/common/utils.py
@@ -479,8 +479,9 @@ def get_certificate_subject_dn(cert_pem):
try:
cert = x509.load_pem_x509_certificate(cert_pem.encode('utf-8'))
for item in cert.subject:
- name, value = item.rfc4514_string(
- attr_name_overrides=ATTR_NAME_OVERRIDES).split('=')
+ name, value = item.rfc4514_string().split('=')
+ if item.oid in ATTR_NAME_OVERRIDES:
+ name = ATTR_NAME_OVERRIDES[item.oid]
dn_dict[name] = value
except Exception as error:
LOG.exception(error)
@@ -501,8 +502,9 @@ def get_certificate_issuer_dn(cert_pem):
try:
cert = x509.load_pem_x509_certificate(cert_pem.encode('utf-8'))
for item in cert.issuer:
- name, value = item.rfc4514_string(
- attr_name_overrides=ATTR_NAME_OVERRIDES).split('=')
+ name, value = item.rfc4514_string().split('=')
+ if item.oid in ATTR_NAME_OVERRIDES:
+ name = ATTR_NAME_OVERRIDES[item.oid]
dn_dict[name] = value
except Exception as error:
LOG.exception(error)