私は基本的にカスタムのpythonスクリプトを書いてセキュリティ証明書データを解析し、その値をテーブルにロードしています。しかし、Pythonで私のために同じ作業をするライブラリがあるかどうかを知りたいと思います。私の考えは、それを行うカスタムスクリプトよりもデータを解析するためにlibを使うほうが良いでしょう。(または)このデータをテーブルに読み込むための他のよりよい方法がありますか?/データを解析してください。データ、セキュリティ証明書X509v3の拡張を解析する
スクリプトのロジック:データは文字列のようなYAMLのように見えるので、データをYAMLのような文字列にフォーマットしました。それから、CSVに変換してテーブルにロードするのは簡単でした。
データは以下の通りである証明書のフォーマット(ウィキから取られた例)
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
10:e6:fc:62:b7:41:8a:d5:00:5e:45:b6
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2
Validity
Not Before: Nov 21 08:00:00 2016 GMT
Not After : Nov 22 07:59:59 2017 GMT
Subject: C=US, ST=California, L=San Francisco, O=Wikimedia Foundation, Inc., CN=*.wikipedia.org
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
04:c9:22:69:31:8a:d6:6c:ea:da:c3:7f:2c:ac:a5:
af:c0:02:ea:81:cb:65:b9:fd:0c:6d:46:5b:c9:1e:
ed:b2:ac:2a:1b:4a:ec:80:7b:e7:1a:51:e0:df:f7:
c7:4a:20:7b:91:4b:20:07:21:ce:cf:68:65:8c:c6:
9d:3b:ef:d5:c1
ASN1 OID: prime256v1
NIST CURVE: P-256
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Agreement
Authority Information Access:
CA Issuers - URI:http://secure.globalsign.com/cacert/gsorganizationvalsha2g2r1.crt
OCSP - URI:http://ocsp2.globalsign.com/gsorganizationvalsha2g2
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.4146.1.20
CPS: https://www.globalsign.com/repository/
Policy: 2.23.140.1.2.2
はい、これは私の現在の解決策です。しかし私は私のためにその仕事をするためにいくつかの図書館を探しています。データには可変列がある可能性があります(いくつかの列はいくつかの証明書のために存在するかもしれませんし、そうでないかもしれませんので、もっと柔軟な方法を探しています)。例えばhttps://stackoverflow.com/questions/143632/crypto-x509- certificate-parsing-libraries-for-pythonはこれについて何かを教えていますが、ドキュメントは十分にはっきりしていません –