如何使用pyca / cryptography访问CSR challengePassword?

时间:2017-08-06 17:35:23

标签: python cryptography csr

我已通过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()阅读时,我找不到“属性”的记录。或者这个特定的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并没有帮助我。

1 个答案:

答案 0 :(得分:0)

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