【问题标题】:M2Crypto get certificate (X509) signature hash algorithmM2Crypto 获取证书(X509)签名哈希算法
【发布时间】:2021-02-17 13:39:34
【问题描述】:

对于一个小项目,我想管理一些证书。 一开始我使用了 Python“密码学”扩展,但我需要一些进一步的功能,所以我切换到 M2Crypto。

通过“密码学”,我从证书中检索了签名哈希算法,就像cert.signature_hash_algorithm.name.upper() 一样。使用 M2Crypto,我找不到获得相同结果的方法。

如何使用 M2Crypto 从 X509 证书中获取签名哈希算法?

【问题讨论】:

  • 你知道如何用 OpenSSL 调用来做这样的事情吗? (C中的意思)
  • 不幸的是不是,只有grep 但我担心这不是你的意思。 openssl x509 -text -noout -in test_cert.pem | grep "Signature Algorithm"

标签: python hash certificate x509 m2crypto


【解决方案1】:

很抱歉,加载的证书都没有提供这样的功能,M2 也没有提供 ANS.1 阅读器来手动查找签名的 OID 以从签名中评估哈希算法。

x509 = X509.load_cert_string(cert)

来源:

【讨论】:

  • 使用 python 加密扩展我只做了以下from cryptography import x509; cert = x509.load_pem_x509_certificate(string.encode('utf-8')); algo = cert.signature_hash_algorithm.name.upper()。我希望 M2Crypto 中也存在这种功能,但据我所知,我想要的值似乎是一个计算值。您的代码摘录是我创建 x509 对象的方式。我已经尝试通过从公钥中检索值来实现我的目标,但没有成功。
  • 在进一步研究编程方法后,我偶然发现了 PHP 中的这个 sn-p:stackoverflow.com/a/9745680/3978320 我自己没有尝试过,但至少似乎有一种方法可以获得想要的价值。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
相关资源
最近更新 更多