This specification explains how to validate a Verifiable Credential of this type.
UZI Server Certificates contain the URA number in the san:otherName
field encoded in a compound string:
<OID CA>-<versie-nr>-<UZI-nr>-<pastype>-<Abonnee-nr>-<rol>-<AGB-code>
After 8 nov 2023 the UZI Server Certificates also has the URA number in the san:otherName.permanentIdentifier
field.
The Verifiable Credential has the following structure:
- The credential has a type
X509Credential
. - The
subject.id
points to the holder of the credential, typically adid:nuts
ordid:web
. - The credential is issued by a
did:x509
, with changes defined in the section Changes to the did:x509 Method Specification, as part of this specification:- The
x5c
header contains the UZI Server Certificate with the full certificate chain. - The
x5t
header contains the sha1 hash of the UZI Server Certificate. - The policy string of the
did:x509
contains either asan:otherName.permanentIdentifier:<ura-number>
orsan:otherName:<ura-number>
policy. - If the
san:otherName:<ura-number>
is present, the URA number should be found as part of thesan:otherName
field. - If the
san:otherName.permanentIdentifier:<ura-number>
is present, the URA number should be found as part of thesan:otherName.permanentIdentifier
field.
- The
A X509Credential is valid when:
- The credential MUST be of type
X509Credential
. - The
x5c
header MUST contain the UZI Server Certificate with the full certificate chain. - The
x5t
header MUST contain the sha1 hash of the UZI Server Certificate. - The signature of the Verifiable Credential MUST validate against the public key of the UZI Server Certificate.
- The UZI Server Certificate chain MUST be valid and match the UZI-register certificate chain.
- The issuer of the credential MUST be a
did:x509
with changes defined in the section Changes to the did:x509 Method Specification. - The issuer of the credential MUST have an
san:otherName:<othername-value>
policy. - The value of
<othername-value>
MUST match the value of theSubjectAltName (2.5.29.17)
OtherName (2.5.5.5)
with the group 1 of the following regular expression as the URA number:2\.16\.528\.1\.1007.\d+\.\d+-\d+-\d+-S-(\d+)-00\.000-\d+
The X509Credential makes use of an additional otherName san-type. This san-type is currently not part of the x509 standard. The suggested policy definition will look like this:
policy-name = "san"
policy-value = san-type ":" san-value
san-type = "email" / "dns" / "uri" / "otherName"
san-value = 1*idchar
A request to support this will be