Hello:

I've been messing with openssl ca, and I think I may have found a (very
minor)bug.

$ openssl version
OpenSSL 0.9.3a 29 May 1999


Given this CA cert:

$ openssl x509 -text -in cacert.pem
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 0 (0x0)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=US, ST=Washington, L=Seattle, O=WRQ, Inc., OU=WRQsec,
CN=CA 8/5/1999
        Validity
            Not Before: Aug  5 23:19:39 1999 GMT
            Not After : Sep  4 23:19:39 1999 GMT
        Subject: C=US, ST=Washington, L=Seattle, O=WRQ, Inc., OU=WRQsec,
CN=CA 8/5/1999
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:c8:15:57:fa:cd:9f:21:74:d2:a0:e1:36:a6:7d:
                    61:3b:82:9a:a1:7b:9f:d5:a5:7a:d6:7f:7b:5c:f8:
                    0c:5d:5f:49:a7:2b:b6:2b:6b:39:fc:a3:1e:fb:5d:
                    59:e6:a2:d2:29:01:75:82:fc:ed:af:e0:4d:50:95:
                    57:47:c3:59:c4:fe:ca:d3:29:f7:70:40:cf:ac:19:
                    0a:c9:a9:34:15:69:29:f3:e7:d0:6b:80:9c:4b:d2:
                    92:29:36:44:a9:7e:d8:be:c4:0b:b5:b1:1e:76:e8:
                    c0:06:74:34:13:23:74:58:5c:fd:23:41:d5:a6:cb:
                    6a:55:b5:c0:0f:ff:23:e6:a1
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:

F1:AE:63:F8:8E:8C:46:E2:3F:05:02:E0:2E:72:7D:24:BD:49:C0:BC
            X509v3 Authority Key Identifier:

keyid:F1:AE:63:F8:8E:8C:46:E2:3F:05:02:E0:2E:72:7D:24:BD:49:C0:BC
                DirName:/C=US/ST=Washington/L=Seattle/O=WRQ,
Inc./OU=WRQsec/CN=CA 8/5/1999
                serial:00

            X509v3 Basic Constraints:
                CA:TRUE
    Signature Algorithm: md5WithRSAEncryption
        2b:4e:27:36:02:3e:fc:42:9e:39:57:cb:79:bc:53:d0:d3:bb:
        51:7f:40:2e:9f:ba:c0:11:d8:71:9c:2a:dc:4f:1e:4d:ff:ea:
        aa:f4:32:37:4f:2c:80:93:a3:45:d1:92:f0:8a:f5:9b:43:08:
        85:bb:31:1b:81:8b:07:f7:a4:01:2e:1d:e2:47:65:e6:51:57:
        c5:85:14:2f:50:0e:93:41:59:8c:01:a0:b6:9f:9d:f2:77:be:
        3f:ed:d9:87:d5:c6:75:4b:b8:98:76:45:91:35:1e:85:d0:03:
        9b:0e:63:a8:a2:1d:4c:a6:af:e6:78:09:97:41:b7:83:f5:c0:
        36:3c
-----BEGIN CERTIFICATE-----
MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADBvMQswCQYDVQQGEwJVUzET
MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHU2VhdHRsZTESMBAGA1UEChMJ
V1JRLCBJbmMuMQ8wDQYDVQQLEwZXUlFzZWMxFDASBgNVBAMTC0NBIDgvNS8xOTk5
MB4XDTk5MDgwNTIzMTkzOVoXDTk5MDkwNDIzMTkzOVowbzELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxEjAQBgNVBAoT
CVdSUSwgSW5jLjEPMA0GA1UECxMGV1JRc2VjMRQwEgYDVQQDEwtDQSA4LzUvMTk5
OTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyBVX+s2fIXTSoOE2pn1hO4Ka
oXuf1aV61n97XPgMXV9Jpyu2K2s5/KMe+11Z5qLSKQF1gvztr+BNUJVXR8NZxP7K
0yn3cEDPrBkKyak0FWkp8+fQa4CcS9KSKTZEqX7YvsQLtbEedujABnQ0EyN0WFz9
I0HVpstqVbXAD/8j5qECAwEAAaOBzDCByTAdBgNVHQ4EFgQU8a5j+I6MRuI/BQLg
LnJ9JL1JwLwwgZkGA1UdIwSBkTCBjoAU8a5j+I6MRuI/BQLgLnJ9JL1JwLyhc6Rx
MG8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdT
ZWF0dGxlMRIwEAYDVQQKEwlXUlEsIEluYy4xDzANBgNVBAsTBldSUXNlYzEUMBIG
A1UEAxMLQ0EgOC81LzE5OTmCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQF
AAOBgQArTic2Aj78Qp45V8t5vFPQ07tRf0Aun7rAEdhxnCrcTx5N/+qq9DI3TyyA
k6NF0ZLwivWbQwiFuzEbgYsH96QBLh3iR2XmUVfFhRQvUA6TQVmMAaC2n53yd74/
7dmH1cZ1S7iYdkWRNR6F0AObDmOooh1Mpq/meAmXQbeD9cA2PA==
-----END CERTIFICATE-----


And this cert request:

$ openssl req -text -in jbloggscert-req.pem
Using configuration from /usr/local/ssl/openssl.cnf
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, ST=Washington, L=Seattle, O=Int'l Widget, OU=Tool
and Die, CN=Joeseph [EMAIL PROTECTED]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (512 bit)
                Modulus (512 bit):
                    00:ba:cf:0c:7f:07:f3:0d:87:18:5f:b0:f6:2c:16:
                    0f:f7:aa:f8:fa:79:6a:38:f3:0e:ac:81:3f:70:5f:
                    65:48:b6:78:01:4f:c9:57:b4:1b:ea:ff:d8:c5:42:
                    c4:b1:31:f3:d8:e1:fc:6f:32:b0:5e:a8:c2:e5:e8:
                    1c:07:d5:a8:2f
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: md5WithRSAEncryption
        a7:aa:e0:23:9e:1d:00:03:ea:6e:a9:78:8a:61:90:89:5d:f0:
        50:56:df:29:72:13:f3:f4:39:b4:dc:e8:54:92:40:1e:0a:51:
        c8:fc:44:a4:36:14:fb:ee:b6:e8:3a:2f:90:a1:c3:96:bf:48:
        41:46:2f:95:76:85:ab:cc:af:64
-----BEGIN CERTIFICATE REQUEST-----
MIIBWzCCAQUCAQAwgZ8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
MRAwDgYDVQQHEwdTZWF0dGxlMRUwEwYDVQQKEwxJbnQnbCBXaWRnZXQxFTATBgNV
BAsTDFRvb2wgYW5kIERpZTEXMBUGA1UEAxMOSm9lc2VwaCBCbG9nZ3MxIjAgBgkq
hkiG9w0BCQEWE2pibG9nZ3NAaXdpZGdldC5jb20wXDANBgkqhkiG9w0BAQEFAANL
ADBIAkEAus8MfwfzDYcYX7D2LBYP96r4+nlqOPMOrIE/cF9lSLZ4AU/JV7Qb6v/Y
xULEsTHz2OH8bzKwXqjC5egcB9WoLwIDAQABoAAwDQYJKoZIhvcNAQEEBQADQQCn
quAjnh0AA+puqXiKYZCJXfBQVt8pchPz9Dm03OhUkkAeClHI/ESkNhT77rboOi+Q
ocOWv0hBRi+VdoWrzK9k
-----END CERTIFICATE REQUEST-----

And a policy called "organization" that looks like:

# Slightly looser policy - must be same company, may be different
division
[ organization ]
countryName             = match
stateOrProvinceName     = match
organizationName        = match
organizationalUnitName  = supplied
commonName              = supplied
emailAddress            = supplied




The CA fails to certify the request, because the Subject has a different
organizationName from the CA.  That's fine, but I think in the
explanation provided, the strings for CA organization and Subject
organization are switched (bug is the last line):
<sorry for the gnarly formatting>


$ openssl ca -name aug5 -in jbloggscert-req.pem  -out joebloggs-cert.pem
-verbose -policy organization

Using configuration from /usr/local/ssl/openssl.cnf
Enter PEM pass phrase:
V       000805002110Z           01      unknown
/C=US/ST=Washington/O=WRQ, Inc./OU=WRQsec/CN=Joe [EMAIL PROTECTED]

V       000809031813Z           02      unknown
/C=US/ST=Washington/L=Seattle/O=Int'l Widget/OU=Tool and Die/CN=Joeseph
[EMAIL PROTECTED]
2 entries loaded from the database
generating indexs
message digest is md5
policy is organization
next serial number is 03
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, ST=Washington, L=Seattle, O=Int'l Widget, OU=Tool
and Die, CN=Joeseph [EMAIL PROTECTED]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (512 bit)
                Modulus (512 bit):
                    00:ba:cf:0c:7f:07:f3:0d:87:18:5f:b0:f6:2c:16:
                    0f:f7:aa:f8:fa:79:6a:38:f3:0e:ac:81:3f:70:5f:
                    65:48:b6:78:01:4f:c9:57:b4:1b:ea:ff:d8:c5:42:
                    c4:b1:31:f3:d8:e1:fc:6f:32:b0:5e:a8:c2:e5:e8:
                    1c:07:d5:a8:2f
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: md5WithRSAEncryption
        a7:aa:e0:23:9e:1d:00:03:ea:6e:a9:78:8a:61:90:89:5d:f0:
        50:56:df:29:72:13:f3:f4:39:b4:dc:e8:54:92:40:1e:0a:51:
        c8:fc:44:a4:36:14:fb:ee:b6:e8:3a:2f:90:a1:c3:96:bf:48:
        41:46:2f:95:76:85:ab:cc:af:64
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
countryName           :PRINTABLE:'US'
stateOrProvinceName   :PRINTABLE:'Washington'
localityName          :PRINTABLE:'Seattle'
organizationName      :PRINTABLE:'Int'l Widget'
organizationalUnitName:PRINTABLE:'Tool and Die'
commonName            :PRINTABLE:'Joeseph Bloggs'
emailAddress          :IA5STRING:'[EMAIL PROTECTED]'
The organizationName field needed to be the same in the
CA certificate (Int'l Widget) and the request (WRQ, Inc.)
$
                  ^^^^^<--------REVERSED---------->^^^^^


Pretty minor, but probably easy to fix.


-Mike Slass
 WRQ, Inc.
 Seattle, WA, USA

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

Reply via email to