Hi all,

I'm setting up a CA using OpenSSL. I would like it to have a CDP
(CRL Distribution Point) which publishes the same CRL on two
locations (different transports -- equal content).

For that purpose I'd like to name the CDP using general name that
would be included in both: CDP extension of the issued certificates
(both, end-entity and subordinate authorities) and in IDP extension
of the CRL as well.

I would like to do that because of delta CRLs that I plan to use
(freshest aka delta, and full CRL need to have the same name, and
for that purpose I decided the best would be to use dirName for
naming and URI just for reference to transport mechanism and file
location).

I'm using debian package of Version: 0.9.8g-3 (libssl0.9.8), and
version string reported is: OpenSSL 0.9.8g 19 Oct 2007. Arch is i386.

I have read the http://www.openssl.org/docs/apps/x509v3_config.html
where (apart from that the document lacks any date, author, revision)
it states that it could be accomplished using something like:

  crlDistributionPoints=crldp1_section

  [crldp1_section]
  fullname=URI:http://myhost.com/myca.crl
  CRLissuer=dirName:issuer_sect
  reasons=keyCompromise, CACompromise

  [issuer_sect]
  C=UK
  O=Organisation
  CN=Some Name

Well, for me, it just did not work. The same goes for IDP extension.

Other problem that I found is that even the docs are not coherent with
the way how to include that section:

  crlDistributionPoints=crldp1_section

  issuingDistributionPoint=critical, @idp_section

Notice: no monkey in front of crldp1_section. (?!)

What worked for me is THIS:


  [ G1CA_crl_ext_full ]
  authorityKeyIdentifier  = keyid:always,issuer:always
  issuerAltName           = email:[EMAIL 
PROTECTED],URI:http://www.girica.example.com/
  authorityInfoAccess     = 
OCSP;URI:http://ocsp.girica.example.com/ocsp/g1ca.ocsp,\
                            
caIssuers;URI:http://aia.girica.example.com/aia/g1ca.aia
  crlNumber               = ASN1:INT:$ENV::CRL_SERIAL
  freshestCRL             = ASN1:SEQUENCE:${CA}_fresh_crl
  issuingDistributionPoint = ASN1:SEQUENCE:${CA}_full_crl_idp


  [ G1CA_fresh_crl ]
  g1_dp.1 = SEQ:g1_dp10
  g1_dp.2 = SEQ:g1_dp20
  [ g1_dp10 ]
  g1_dp = IMP:0C,SEQ:g1_dp100
  [ g1_dp20 ]
  g1_dp = IMP:0C,SEQ:g1_dp200
  [ g1_dp100 ]
  g1_dp = IMP:0C,SEQUENCE:g1_dp100u
  [ g1_dp100u ]
  g1_dp = IMP:6C,IA5STRING:http://crl.girica.example.com/crl/g1ca-delta.crl
  [ g1_dp200 ]
  g1_dp = IMP:0C,SEQUENCE:g1_dp200u
  [ g1_dp200u ]
  g1_dp = 
IMP:6C,IA5STRING:ldap://ldap.girica.example.com/c=HR,o=GIRICA,ou=G1CA,cn=CRL?certificateRevocationList;binary


  [ G1CA_full_crl_idp ]
  dpName.1 = IMP:0C,SEQ:crl_dp_url
  #onlyUserCerts = IMP:1C,BOOLEAN:TRUE
  #onlyCACerts = IMP:2C,BOOLEAN:FALSE
  #indirectCRL = IMP:4C,BOOLEAN:FALSE

  [ crl_dp_url ]
  dp = IMP:0C,SEQUENCE:crl_dp_url_u

  [ crl_dp_url_u ]
  dp.4 = IMP:4C,SEQUENCE:crl_dp_dirname
  dp.6 = IMP:6C,IA5STRING:ldap://ldap.girica.example.com/c=HR,o=GIRICA,\
           ou=G1CA,cn=CRL?certificateRevocationList;binary

  [ crldp_seq ]
  d1_c       = SET:crldp_1_c
  d1_o       = SET:crldp_1_o
  d1_ou      = SET:crldp_1_ou
  d1_cn      = SET:crldp_1_cn

  [ crldp_1_c ]
  d = SEQ:crldp_1_c_1
  [ crldp_1_o ]
  d = SEQ:crldp_1_o_1
  [ crldp_1_ou ]
  d = SEQ:crldp_1_ou_1
  [ crldp_1_cn ]
  d = SEQ:crldp_1_cn_1

  [ crldp_1_c_1 ]
  o = OID:2.5.4.6
  v = PRINTABLESTRING:HR
  [ crldp_1_o_1 ]
  o = OID:2.5.4.10
  v = PRINTABLESTRING:GIRICA
  [ crldp_1_ou_1 ]
  o = OID:2.5.4.11
  v = PRINTABLESTRING:G1CA
  [ crldp_1_cn_1 ]
  o = OID:2.5.4.3
  v = PRINTABLESTRING:GIRICA-Root-CA


Or, in other words - I did everything manually using ASN1. Is there a better
(more handy - and readable) way to achieve the same result?

How to turn on those elegant options for CDP and IDP described in
x509v3_config manpage?

Cheers everybody!

d.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to