如何使用 pyca/cryptography 访问 CSR challengePassword?
How does one access CSR challengePassword with pyca/cryptography?
我已经通过 openssl
cli 创建了一个带有 challengePassword
属性 (oid 1.2.840.113549.1.9.7
) 的 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,但还没有人实现它。
我已经通过 openssl
cli 创建了一个带有 challengePassword
属性 (oid 1.2.840.113549.1.9.7
) 的 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,但还没有人实现它。