Re: [Technical Errata Reported] RFC3029 (6444)

Russ Housley <[email protected]>
Newsgroups gmane.ietf.x509
Message-ID <[email protected]>
I guess I should have held off on reporting this ASN.1 error.  Once I corrected it, I discovered two errors that I do not know how to fix.

There is an implementation somewhere because Appendix F contains examples.  I do not know how the implementer got around these two problems.


PROBLEM 1:

CertEtcToken ::= CHOICE {
     certificate                  [0] IMPLICIT Certificate ,
     esscertid                    [1] ESSCertId ,
     pkistatus                    [2] IMPLICIT PKIStatusInfo ,
     assertion                    [3] ContentInfo ,
     crl                          [4] IMPLICIT CertificateList,
     ocspcertstatus               [5] IMPLICIT CertStatus,
     oscpcertid                   [6] IMPLICIT CertId ,
     oscpresponse                 [7] IMPLICIT OCSPResponse,
     capabilities                 [8] SMIMECapabilities,
     extension                    Extension{{ExtensionSet}}
}

CertEtcToken is a CHOICE with tags 0 through 8, but CertStatus CHOICE with tags 0 through 2.  You cannot nest a CHOICE in another CHOICE is the IMPLICIT tags overlap.

The use of EXPLICIT tagging would have solved the problem, but the authors clearly preferred IMPLICIT tags.


PROBLEM 2

DigestInfo ::= SEQUENCE {
    digestAlgorithm   DigestAlgorithmIdentifier,
    digest            Digest
}

Data ::= CHOICE {
      message           OCTET STRING ,
      messageImprint    DigestInfo,
      certs             SEQUENCE SIZE (1..MAX) OF
                            TargetEtcChain
}

DigestInfo is a SEQUENCE, and certs is a SEQUENCE, so the two have the same tag.  A recipient cannot tell which one the sender intended.

Russ



> On Feb 26, 2021, at 3:54 PM, RFC Errata System <[email protected]> wrote:
> 
> The following errata report has been submitted for RFC3029,
> "Internet X.509 Public Key Infrastructure Data Validation and Certification Server Protocols".
> 
> --------------------------------------
> You may review the report below and at:
> https://www.rfc-editor.org/errata/eid6444
> 
> --------------------------------------
> Type: Technical
> Reported by: Russ Housley <[email protected]>
> 
> Section: Appendix E
> 
> Original Text
> -------------
>  GeneralName, PolicyInformation
>  FROM PKIX1Implicit88 {iso(1) identified-organization(3)
>  dod(6) internet(1) security(5) mechanisms(5) pkix(7)
>  id-mod(0) id-pkix1-implicit-88(2)}
> 
> Corrected Text
> --------------
>  GeneralName, GeneralNames, PolicyInformation
>  FROM PKIX1Implicit88 {iso(1) identified-organization(3)
>  dod(6) internet(1) security(5) mechanisms(5) pkix(7)
>  id-mod(0) id-pkix1-implicit-88(2)}
> 
> Notes
> -----
> The ASN.1 Module uses GeneralName and GeneralNames, but only one of them is IMPORTed.  The suggested fix IMPORTS both of GeneralName and GeneralNames.
> 
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party  
> can log in to change the status and edit the report, if necessary. 
> 
> --------------------------------------
> RFC3029 (draft-ietf-pkix-dcs-07)
> --------------------------------------
> Title               : Internet X.509 Public Key Infrastructure Data Validation and Certification Server Protocols
> Publication Date    : February 2001
> Author(s)           : C. Adams, P. Sylvester, M. Zolotarev, R. Zuccherato
> Category            : EXPERIMENTAL
> Source              : Public-Key Infrastructure (X.509)
> Area                : Security
> Stream              : IETF
> Verifying Party     : IESG
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.