[Python] [PYTHON] Leggere certificato x509
Andrea D'Amore
and.damore a gmail.com
Mar 9 Nov 2021 22:18:34 CET
On Fri, 5 Nov 2021 at 12:24, Valerio Pachera <sirio81 a gmail.com> wrote:
> print(cert.subject)
> Non so bene come interpretare l'output che ottengo:
> <Name([<NameAttribute(oid=<ObjectIdentifier(oid=2.5.4.3,
> name=commonName)>, value='nomeprincipale.domain.tld')>])>
> Non è una lista, stringa, tupla ...
È un istanza di Name [1] , come indicato qua [2].
> 1) Come posso ricavare/estrapolare il valore "nomeprincipale.domain.tld" ?
O iteri su cert.subject e finché trovi il risultato che ti serve,
oppure usi il metodo get_attributes_for_oid() come dice la
documentazione di Name.
from cryptography.x509.oid import NameOID
⋮
common_name = cert.subject.get_attributes_for_oid(NameOID.COMMON_NAME)
> 2) Come posso ricavare i Subject Alternative Names?
Analogamente ma come in [3]:
from cryptography.x509.oid import ExtensionOID
⋮
san = cert.extensions.get_extension_for_oid(ExtensionOID.SUBJECT_ALTERNATIVE_NAME)
[1]: https://cryptography.io/en/latest/x509/reference/#cryptography.x509.Name
[2]: https://cryptography.io/en/latest/x509/reference/#cryptography.x509.Certificate.subject
[3]: https://cryptography.io/en/latest/x509/reference/?highlight=subjectaltname#cryptography.x509.SubjectAlternativeName
--
Andrea D'Amore
Maggiori informazioni sulla lista
Python