当前位置: 首页 > 面试题库 >

Python:使用pyOpenSSL.crypto读取pkcs12证书

颜永怡
2023-03-14
问题内容

我有西班牙当局(FNMT)签发的有效证书,并且我想使用它来进一步了解它。文件扩展名为.p12

我想阅读其中的信息(名字和姓氏),并检查证书是否有效。可以用pyOpenSSL做到这一点吗?我想我必须在OpenSSL中使用加密模块。任何帮助或有用的链接?尝试在这里阅读:http : //packages.python.org/pyOpenSSL/openssl-
crypto.html,
但信息不多:-(


问题答案:

使用起来相当简单。这未经测试,但应该可以工作:

# load OpenSSL.crypto
from OpenSSL import crypto

# open it, using password. Supply/read your own from stdin.
p12 = crypto.load_pkcs12(open("/path/to/cert.p12", 'rb').read(), passwd)

# get various properties of said file.
# note these are PyOpenSSL objects, not strings although you
# can convert them to PEM-encoded strings.
p12.get_certificate()     # (signed) certificate object
p12.get_privatekey()      # private key.
p12.get_ca_certificates() # ca chain.

有关更多示例,请浏览pyopenssl的单元测试代码。您可能想使用库的几乎所有方式都在那里

另请参见这里或没有广告在这里。



 类似资料:
  • 问题内容: 我在读取证书信息时遇到问题。我想使用Java和Android中的bouncycastle库来阅读完整信息。现在,我只是在控制台中使用keytool命令: 有什么建议? 问题答案: 我找到了解决方案,主要思想是将证书转换为x509,然后获取SubjectDN并解析值。

  • 问题内容: 我正在尝试使用PySpark 2.4.0从Kafka读取avro消息。 spark-avro外部模块可以为读取avro文件提供以下解决方案: 但是,我需要阅读流式Avro消息。库文档建议使用 from_avro() 函数,该函数仅适用于Scala和Java。 是否有其他模块支持读取从Kafka流式传输的Avro消息? 问题答案: 您可以包括spark-avro软件包,例如使用(调整版本

  • 问题内容: 我正在尝试使用Python(仅法语和/或西班牙语字符)读取带有重音字符的CSV文件。基于csvreader的Python 2.5文档(http://docs.python.org/library/csv.html),由于csvreader仅支持ASCII,因此我想出了以下代码来读取CSV文件。 以下是我尝试阅读的CSV文件的摘录: 即使我尝试将编码/解码为UTF-8,我仍然收到以下异常

  • 我使用Dask读取2.5GB csv文件,Python给了我错误。这是我写的代码: 以下是我从Python得到的错误: dask_df=df1.read_csv('3SPACK_N150_7Ah_压力分布研究_Data_Matrix.csv')) 文件“C:\ProgramData\Anaconda3\lib\site packages\dask\dataframe\io\csv.py”,第645

  • 如何最好地为Python编写源代码SDK它应该读取嵌套的XML文件并将内容分成多行。现有的源代码都在行级别上工作,这不是我在XML上下文中需要的。 这是一组XML文件,每个文件都构成一个交易,必须分解为多个记录(订单行、付款等)。

  • 我想用keytool程序创建一个PKCS12密钥存储格式的证书。 密钥库的扩展名为。