Golang x509.VerifyOptions中CertificatePolicies验证未生效问题咨询
Go 1.24.0 x509.VerifyOptions.CertificatePolicies参数验证异常
Go 1.24.0版本中,x509.VerifyOptions新增CertificatePolicies参数用于X.509证书的策略验证,但存在逻辑异常:
- 当证书本身不包含任何策略时,验证仍会成功
- 当证书包含的策略与指定的
CertificatePolicies完全不符时,验证也会成功
示例验证代码如下:
if _, err = cert.Verify(x509.VerifyOptions{ Intermediates: opts.Intermediates, Roots: opts.Roots, KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageAny}, CertificatePolicies: policies, }); err != nil { return err }
举个具体场景:若证书的cert.Policies为[]x509.OID{"1.2.3"},而验证时指定的policies为[]x509.OID{"0.0.0"},两者完全不匹配,但验证依然会通过。
内容的提问来源于stack exchange,提问作者ojacomarket
相关产品推荐
相关产品推荐

