I am trying to verify a PIV certificate from a smart card using a certificate that includes a Name Constraints extension. If I inspect the -text output everything looks like it should be fine but the two values have different case. Is it possible that OpenSSL is doing a case-sensitive comparison even though rfc5280 indicates that it should be case-insensitive? Here are the relevant text outputs:
Root CA (changed actual values to example but preserved casing:
X509v3 Name Constraints: critical
Permitted:
email:example.com
email:.example.com
DNS:example.com
DirName:C = US, O = Example
PIV Certificate (again, changed actual values to example)
Subject: C = us, O = example, OU = people, CN = john.j.doe.123456
Here the Subject C and O values have a different case than those in the DirName constraint.
Here is the full output I'm getting from the openssl verify
$ openssl verify -noCAfile -CAfile root.crt -untrusted intermediate.crt piv-cert.crt
C = us, O = example, OU = people, CN = john.j.doe.123456
error 47 at 0 depth lookup: permitted subtree violation
error piv-cert.crt: verification failed