Subject: RE: Minor confusion in PKIX part 1, section 7.3.3

From: Santosh Chokhani <[email-masked]>
Date: Fri, 27 Nov 1998 16:40:43 -0500

Cindy:

You are correct that the two sentences are contradictory.  The safer
thing to do is to reject the certificate since with the X.509
authentication framework and certificate path there is no guarantee as
to what the parameters are.  Thus, the first sentence should be deleted
from PKIX Part 1.

May be the editors of PKIX Part 1 can shed some light on it also.

> -----Original Message-----
> From:	Grall, Cynthia [SMTP:[email-masked]]
> Sent:	Tuesday, November 24, 1998 11:43 AM
> To:	[email-masked]'
> Subject:	FW: Minor confusion in PKIX part 1, section 7.3.3
> 
> 
> > The following paragraph seems to have two conflicting sentences:
> > 
> > 7.3.3  DSA Signature Keys
> > 
> > ...
> > 
> >    If the DSA algorithm parameters are absent from the
> subjectPublicKey-
> >    Info AlgorithmIdentifier and the CA signed the subject
> certificate
> >    using DSA, then the certificate issuer's DSA parameters apply to
> the
> >    subject's DSA key.  If the DSA algorithm parameters are absent
> from
> >    the subjectPublicKeyInfo AlgorithmIdentifier and the CA signed
> the
> >    subject certificate using a signature algorithm other than DSA,
> then
> >    the subject's DSA parameters are distributed by other means.  If
> the
> >    subjectPublicKeyInfo AlgorithmIdentifier field omits the
> parameters
> >    component and the CA signed the subject with a signature
> algorithm
> >    other than DSA, then clients shall reject the certificate.
> > 
> > I understand the second sentence to mean if the CA cert. has a (for
> > example) RSA key, and the EE cert. has a DSA key with no parameters,
> > then the EE cert. is okay and I have to find the parameters
> somewhere
> > else.  
> > 
> > The third sentence says if the CA cert. has (for example) a RSA key,
> > and the EE cert. has a DSA key with no parameters, then I should
> reject
> > the EE cert.
> > 
> > Is there something I'm missing here?  If these do conflict, which is
> the
> > correct statement?
> > 
> > Cindy
> > ----------
> > Cindy Grall                       [email-masked]
> > Network Associates, Inc.          phone: (310) 737-1629
> > 3415 S. Sepulvida Blvd.           fax:   (310) 737-1755
> > Los Angeles, California 90034

---

From: Russ Housley <[email-masked]>
Date: Mon, 30 Nov 1998 09:45:29 -0500

Cindy:

This is trying to explain parameter inheritance.

When the DSA algorithm parameters are absent from the subjectPublicKeyInfo
AlgorithmIdentifier and the CA signed the subject certificate using DSA,
the CA's parameters are inherited by the issued certificate.  This is done
to reduce the size of the certificate.  The parameters are more than twice
the size of the public key, so to reduce the number of certificates that
include them.

When the DSA algorithm parameters are absent from the subjectPublicKeyInfo
AlgorithmIdentifier and the CA signed the subject certificate using an
algorithm other than DSA, the CA's parameters cannot be inherited.  To
avoid this situaltion, the parameters should be put in the certificate.  If
they are not in the certificate, it should be rejected.

Russ

>    If the DSA algorithm parameters are absent from the subjectPublicKey-
>    Info AlgorithmIdentifier and the CA signed the subject certificate
>    using DSA, then the certificate issuer's DSA parameters apply to the
>    subject's DSA key.  If the DSA algorithm parameters are absent from
>    the subjectPublicKeyInfo AlgorithmIdentifier and the CA signed the
>    subject certificate using a signature algorithm other than DSA, then
>    the subject's DSA parameters are distributed by other means.  If the
>    subjectPublicKeyInfo AlgorithmIdentifier field omits the parameters
>    component and the CA signed the subject with a signature algorithm
> then the EE cert. is okay and I have to find the parameters somewhere
> else.  
> 
> and the EE cert. has a DSA key with no parameters, then I should reject
> the EE cert.
> 
> Is there something I'm missing here?  If these do conflict, which is the
> correct statement?