2017-02-01 9 views
0

私はpython、pyopensslライブラリを使用してCAとのCRLを確認しています。CAとCRLの照合

私は何を持っていることは次のとおりです。

私は証明機関を取得:

with open(ca_file_path) as ca_file_obj: 
    ca = crypto.load_certificate(crypto.FILETYPE_PEM, ca_file_obj.read()) 

私はCRLを取得する:

with open(crl_file_path) as crl_file_obj: 
     crl = crypto.load_crl(crypto.FILETYPE_PEM, crl_file_obj.read()) 

どのように私はCRLがCAに属していることを確認することができ、私はそれがopensslで行うことができますが、どのように純粋なPythonコードで、サブプロセスとしてopensslを開かずにそれを解決することができます知っている?誰か想像どんな人?あなたが行うことができますpyopensslを使用することにより

答えて

0

# Export CRL as a cryptography CRL. 
crl_crypto = crl.to_cryptography() 

# Get CA Public Key as _RSAPublicKey 
ca_pub_key = ca.get_pubkey().to_cryptography_key() 

# Validate CRL against CA 
valid_signature = crl_crypto.is_signature_valid() 

は、CRLの署名の有効性をチェックすると、CRLを信頼すべきかどうかを知るには不十分であることを考慮してください(RFC 5280を参照)