Michael Ströder wrote:
Pierangelo Masarati wrote:
> I'm playing with certification authorities and so, and I came across
> certificate lists. Currently, the certificate list syntax
> 126.96.36.199.4.1.14188.8.131.52.9 is validated by sequenceValidate, which
> simply checks if the value starts with a LBER_SEQUENCE tag. After
> reading related RFCs and X.509 I understood that a certificate list is
> always supposed to be a complete structure, respectful of X.509 7.3.
Yes, I wouldn't add just dummy values.
> I stumbled on this problem because I have to implement an architecture
> based on strongAuthenticationUser and certificationAuthority (I know
> they're deprecated in favor of pkiUser and pkiCA, but this is not an
> option right now, unfortunately),
Guess you're using a LDAP-enabled CA software which has things
hard-coded? Isn't that one of the problems which could be solved with
yet another overlay? ;-)
> where the latter requires
> authorityRevocationList and certificateRevocationList.
The CA MUST be capable of issuing CRLs. Otherwise your PKI isn't
complete anyway. The CRLs SHOULD be copied in the CA's entry if this
entry is used by any LDAP-/PKI-enabled software at all.
> When the lists are empty, common practice allowed to use an arbitrary
> dummy value, while OpenLDAP requires at least ":: MAAAAA==" (i.e.
> LBER_SEQUENCE in base64) to fool sequenceValidate().
I would not mess with any dummy values at all.
> - is my understanding of X.509 correct? (certificate lists need to be
> complete as per X.509 7.3, with no revokedCertificates)
> - is there any other common practice to deal with empty
Not one I would trust. Note that some "PKI-enabled" software chokes on
invalid data and crashes. Well, some software also chokes on valid data.
Overall quality is rather poor. :-(
> - would a certificateListValidate() that complies with X.509 7.3 be
> helpful/welcome in 2.4?
The point is: I guess a CA should be allowed to publish no CRL (or no
ARL) if that would be empty. That's why pkiCA allows
certificateRevocationList, while certificationAuthority requires it. So
the problem is that certificationAuthority was poorly designed (like
lots of old standard schema, I believe). My current issue is that I
need to use the old objectClasses, but I have no control on what the CA
does, I only publish data received from someone else, and I'd like to
have things as correct as possible.
Anyway, thanks. I'll probably propose a certificateListValidate()
function ASAP. p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
via Dossi, 8 - 27100 Pavia - ITALIA
Office: +39 02 23998309
Mobile: +39 333 4963172