我已经通过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/