簡體   English   中英

是否可以將此 serialNumber 分配給 python 中的變量?

[英]Is it possible to assign this serialNumber to a variable in python?

import ssl, socket

hostname = '    '
ctx = ssl.create_default_context()
with ctx.wrap_socket(socket.socket(), server_hostname=hostname) as s:
    s.connect((hostname, 443))
    cert = s.getpeercert()

subject = dict(x[0] for x in cert['subject'])
issued_to = subject['commonName']

issuer = dict(x[0] for x in cert['issuer'])
issued_by = issuer['commonName']

serialNumber = dict(x[0] for x in cert['serialNumber'])


print(cert)
print(issued_to) 
print(issued_by)

s153152@MB20OXDHQ60774 文檔% python3 test3.py {'subject': ((('countryName', 'US'),), (('stateOrProvinceName', 'California'),), (('localityName', 'Eureka' ),), (('organizationName', 'departmentName'),), (('organizationalUnitName', 'hostname1'),), (('commonName', 'hostname.ca.gov'),)), 'issuer ': ((('domainComponent', 'gov'),), (('domainComponent', 'ca'),), (('domainComponent', 'dot'),), (('domainComponent', 'ct '),), (('commonName', '-CA'),)), 'version': 3, 'serialNumber': '646ss8AA2A000100000F0C', 'notBefore': 'Apr 9 21:26:20 2020 GMT', 'notAfter': 'Dec 28 19:45:58 2021 GMT', 'subjectAltName': (('DNS', 'hostname.ca.gov'), ('DNS', ''), ('DNS', '主機名'), ('DNS', 'hostname.ca.gov'), ('DNS', 'hostname.ca.gov')), 'caIssuers': ('ldap:///CN=-CA,CN =AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=ca,DC=gov?cACertificate?base?objectClass=certificationAuthority',),'crlDistributionPoints':('ldap:///CN =-CA(1),CN=,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration, DC=ca,DC=gov?certificateRevocationList?base?objectClass=cRLDistributionPoint',)}.ca.gov output1 s153152@MB20OXDHQ60774 文件 %

想要這個輸出'serialNumber':'6468AA2A000100000F0C'

serialNumber = dict(x[0] for x in cert['serialNumber'])

序列號是單個值,而不是字典。 所以

serialNumber = cert['serialNumber']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM