2016-08-29 4 views
1

subject key identificatorを既存の証明書からPythonで抽出することはできますか?証明書からサブジェクトキー識別子を取得

私は次のようにいろいろ書いてみました:

from OpenSSL.crypto import load_certificate, FILETYPE_PEM 

cert_string='-----BEGIN CERTIFICATE--...' 
certificate=load_certificate(FILETYPE_PEM, plain_cert) 
subject=certificate.get_subject() 

しかし、それは、証明書のサブジェクトをバック与えます。証明書オブジェクトが主キー識別子の機能を提供していないようです。他のオプションはありますか?

答えて

1
subject=certificate.get_extension(0) 

でした。

certificate.get_extension_count() 

証明書の拡張子を確認できます。

2

サブジェクトキー識別子を抽出するコード:

from cryptography import x509 
from cryptography.hazmat.backends import default_backend 

cert = x509.load_pem_x509_certificate(pem_data, default_backend()) 
ski = cert.extensions.get_extension_for_oid(x509.oid.ExtensionOID.SUBJECT_KEY_IDENTIFIER) 
print(ski.value.digest) 
関連する問題