我已经通过challengePassword cli使用1.2.840.113549.1.9.7属性(oid openssl)创建了一个CSR:

openssl req  -nodes -new -newkey rsa:4096 -out www.example.com.csr -keyout www.example.com.key


我验证通过challengePassword存在

openssl req -noout -text -in www.example.com.csr


当我用cryptography.x509.load_pem_x509_csr()读它时,找不到'Attributes'或该特定oid的记录,例如

   csr = x509.load_pem_x509_csr(csr_data, default_backend())
   print(csr.subject) # Lists expected subject info; countryName, etc.
   CHALLENGE_OID = "1.2.840.113549.1.9.7"
   challenge_att = x509.oid.ObjectIdentifier(CHALLENGE_OID)
   challenge = csr.subject.get_attributes_for_oid(challenge_att) # challenge is []


该属性在生成的对象中的任何地方都可见吗? pyca/cryptography docs没有帮助我。

最佳答案

质询密码是编码到CSR中的属性。不幸的是,pyca / cryptography目前不支持任意属性。 GitHub上现在有一个open issue,但是还没有人实现。

关于python - 如何通过pyca/cryptography访问CSRhallengePassword?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45534763/

10-11 07:42