|
Retry since it looks like the first one did not get there.
-----Original Message-----
Hi,
While we were porting to 0.9.7D to our latest VMS product, we ran into some issues with [.APPS]OPENSSL-VMS.CNF. The bulleted list of items highlights each area of concern.
· Missing field names in OPENSSL-VMS.CNF
In comparing OPENSSL-VMS.CNF with OPENSSL.CNF, it appears there are a few new items that are not in OPENSSL-VMS.CNF:
- unique_subject - crlnumber - name_opt - cert_opt - copy_extensions - input_password - output_password
· Should crlnumber point to a file?
While the crlnumber is commented out, we were wondering if that is supposed to be pointing to a file similar to SERIAL?
· Where should name_opt and cert_opt be located?
Both name_opt and cert_opt point to ca_default. However, we can not find a ca_default in the file. We can find a CA_default, but the case of the leading CA is different. The other problem here is that if we were to change ca_default to CA_default for these two, the CA_default is located before them in the file.
· nombrstr vs. nobmp.
nombrstr appears in the OPENSSL.CNF file, while nobmp appears in the OPENSSL-VMS.CNF file, but they each have the same value. Has nombrstr replaced nobmp?
· string_mask vs. dirstring_type
The previous bullet is further confused because string_mask appears in OPENSSL.CNF and nobmp appears in OPENSSL-VMS.CNF. Is this another case of string_mask replacing dirstring_type?
· emailAddress_max
The value has increased from 40 to 64. I'm assuming we should be putting this change into OPENSSL-VMS.CNF as well.
· Changes/Diffs
Two patch files between 0.9.7D of OPENSSL.CNF and OPENSSL-VMS.CNF has been included as an attachment. They highlight the changes that we have outlined above. They are in a VMS diff format and a Unix diff format.
While working with the UNIQUE_SUBJECT feature in 0.9.7D, we ran into a couple of problems. The set of fixes are found in DIFFS.DIFF, include fixes to APPS.C, APPS.H, and CA.C, and it has been include as an attachment as well.
We fixed the situation where signing a certificate request a second time would pass the database check, and then fail later on when it tried to write it out to the database. The problem was that it would try to look up the certificate with the new serial number, and naturally not find it. Then, when it tried to write the certificate to the database, it would use the name for the lookup, and fail with “TXT_DB error number 2”. In the case of the error, we added code to clean up the empty file as well.
If you have any questions, please let us know.
Thank you. Kevin
Kevin Greaney OpenVMS Engineering Hewlett-Packard Company 110 Spit Brook Road Nashua, NH 03062
|
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
6 # This definition stops the following lines choking if HOME isn't
7 # defined.
8 HOME = .
9 RANDFILE = $ENV::HOME/.rnd
10
11 # Extra OBJECT IDENTIFIER info:
12 #oid_file = $ENV::HOME/.oid
13 oid_section = new_oids
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
6 RANDFILE = $ENV::HOME/.rnd
7 oid_file = $ENV::HOME/.oid
8 oid_section = new_oids
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
37 dir = ./demoCA # Where everything is kept
38 certs = $dir/certs # Where the issued certs are kept
39 crl_dir = $dir/crl # Where the issued crl are kept
40 database = $dir/index.txt # database index file.
41 #unique_subject = no # Set to 'no' to allow creation of
42 # several ctificates with same subject.
43 new_certs_dir = $dir/newcerts # default place for new certs.
44
45 certificate = $dir/cacert.pem # The CA certificate
46 serial = $dir/serial # The current serial number
47 #crlnumber = $dir/crlnumber # the current crl number
48 # must be commented out to leave a V1
CRL
49 crl = $dir/crl.pem # The current CRL
50 private_key = $dir/private/cakey.pem# The private key
51 RANDFILE = $dir/private/.rand # private random number file
52
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
32 dir = sys\$disk:[.demoCA # Where everything is kept
33 certs = $dir.certs] # Where the issued certs are kept
34 crl_dir = $dir.crl] # Where the issued crl are kept
35 database = $dir]index.txt # database index file.
36 new_certs_dir = $dir.newcerts] # default place for new certs.
37
38 certificate = $dir]cacert.pem # The CA certificate
39 serial = $dir]serial. # The current serial number
40 crl = $dir]crl.pem # The current CRL
41 private_key = $dir.private]cakey.pem# The private key
42 RANDFILE = $dir.private].rand # private random number file
43
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
55 # Comment out the following two lines for the "traditional"
56 # (and highly broken) format.
57 name_opt = ca_default # Subject Name options
58 cert_opt = ca_default # Certificate field options
59
60 # Extension copying option: use with caution.
61 # copy_extensions = copy
62
63 # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
64 # so this is commented out by default to leave a V1 CRL.
65 # crlnumber must also be commented out to leave a V1 CRL.
66 # crl_extensions = crl_ext
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
46 # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
47 # so this is commented out by default to leave a V1 CRL.
48 # crl_extensions = crl_ext
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
107 # Passwords for private keys if not present they will be prompted for
108 # input_password = secret
109 # output_password = secret
110
111 # This sets a mask for permitted string types. There are several options.
112 # default: PrintableString, T61String, BMPString.
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
89 # This sets the permitted types in a DirectoryString. There are several
90 # options.
91 # default: PrintableString, T61String, BMPString.
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
115 # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
116 # MASK:XXXX a literal mask value.
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
94 # nobmp : PrintableString, T61String (no BMPStrings).
95 # MASK:XXXX a literal mask value.
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
119 string_mask = nombstr
120
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
98 dirstring_type = nobmp
99
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
148 emailAddress_max = 64
149
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
127 emailAddress_max = 40
128
************
************
File USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1
196 # An alternative to produce certificates that aren't
197 # deprecated according to PKIX.
198 # subjectAltName=email:move
199
******
File USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
175
************
Number of difference sections found: 8
Number of difference records found: 44
DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=USERE:[GREANEY.TEMP]OPENSSL.CNF_VMS_DIFF;1-
USERE:[GREANEY.TEMP]OPENSSL.CNF_097D;1-
USERE:[GREANEY.TEMP]OPENSSL-VMS.CNF_097D;1
--- openssl-vms.cnf_097d Thu Apr 15 14:33:40 2004 +++ openssl.cnf_097d Fri Apr 16 08:37:51 2004 @@ -3,8 +3,13 @@ # This is mostly being used for generation of certificate requests. # +# This definition stops the following lines choking if HOME isn't +# defined. +HOME = . RANDFILE = $ENV::HOME/.rnd -oid_file = $ENV::HOME/.oid + +# Extra OBJECT IDENTIFIER info: +#oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the @@ -29,22 +34,35 @@ #################################################################### [ CA_default ] -dir = sys\$disk:[.demoCA # Where everything is kept -certs = $dir.certs] # Where the issued certs are kept -crl_dir = $dir.crl] # Where the issued crl are kept -database = $dir]index.txt # database index file. -new_certs_dir = $dir.newcerts] # default place for new certs. - -certificate = $dir]cacert.pem # The CA certificate -serial = $dir]serial. # The current serial number -crl = $dir]crl.pem # The current CRL -private_key = $dir.private]cakey.pem# The private key -RANDFILE = $dir.private].rand # private random number file +dir = ./demoCA # Where everything is kept +certs = $dir/certs # Where the issued certs are kept +crl_dir = $dir/crl # Where the issued crl are kept +database = $dir/index.txt # database index file. +#unique_subject = no # Set to 'no' to allow creation of + # several ctificates with same subject. +new_certs_dir = $dir/newcerts # default place for new certs. + +certificate = $dir/cacert.pem # The CA certificate +serial = $dir/serial # The current serial number +#crlnumber = $dir/crlnumber # the current crl number + # must be commented out to leave a V1 CRL +crl = $dir/crl.pem # The current CRL +private_key = $dir/private/cakey.pem# The private key +RANDFILE = $dir/private/.rand # private random number file x509_extensions = usr_cert # The extentions to add to the cert +# Comment out the following two lines for the "traditional" +# (and highly broken) format. +name_opt = ca_default # Subject Name options +cert_opt = ca_default # Certificate field options + +# Extension copying option: use with caution. +# copy_extensions = copy + # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. +# crlnumber must also be commented out to leave a V1 CRL. # crl_extensions = crl_ext default_days = 365 # how long to certify for @@ -86,16 +104,19 @@ attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert -# This sets the permitted types in a DirectoryString. There are several -# options. +# Passwords for private keys if not present they will be prompted for +# input_password = secret +# output_password = secret + +# This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString. # utf8only: only UTF8Strings. -# nobmp : PrintableString, T61String (no BMPStrings). +# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings # so use this option with caution! -dirstring_type = nobmp +string_mask = nombstr # req_extensions = v3_req # The extensions to add to a certificate request @@ -124,7 +145,7 @@ commonName_max = 64 emailAddress = Email Address -emailAddress_max = 40 +emailAddress_max = 64 # SET-ex3 = SET extension number 3 @@ -172,6 +193,9 @@ # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move # Copy subject details # issuerAltName=issuer:copy
diffs.diff
Description: diffs.diff
