For some reason Hotmail does not allow me to attach those files:

Test CSR:


-----BEGIN CERTIFICATE REQUEST-----
MIICuzCCAiQCAQAwggF5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p
YTESMBAGA1UEBxMJU2FuIE1hdGVvMRUwEwYDVQQKEwxHb3RHZW5pZS5jb20xFTAT
BgNVBAsTDFRlY2hub2xvZ2llczEZMBcGA1UEAxQQKi4qLmdvdGdlbmllLmNvbTEX
MBUGA1UEAxQOKi5nb3RnZW5pZS5jb20xFTATBgNVBAMTDGdvdGdlbmllLmNvbTEZ
MBcGA1UdERQQKi4qLmdvdGdlbmllLmNvbTEXMBUGA1UdERQOKi5nb3RnZW5pZS5j
b20xFTATBgNVHRETDGdvdGdlbmllLmNvbTEfMB0GCWCGSAGG+EIBDBQQKi4qLmdv
dGdlbmllLmNvbTEdMBsGCWCGSAGG+EIBDBQOKi5nb3RnZW5pZS5jb20xGzAZBglg
hkgBhvhCAQwTDGdvdGdlbmllLmNvbTEgMB4GCSqGSIb3DQEJARYRa2hhaUBnb3Rn
ZW5pZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKZF+wX2nzE0Doh2
W6KJytKEu8CampAGptJmAIt2U2p5tCwLMXp7MS10cUOC4yFOL7Y6+Voyyo6UNO3H
mVSSuZAWEs4hsOIK7lsFt1FYQxZ/XcaJfXrx3K9weaN/9ARco1p+QGIjJhHD/SLv
xm7MPm5lFMCISIOjwP8+XZcp9fthAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQAP
incHoM4gXVC/BPfl1/o4XKmLlBzmIkmRZb+xhDHkxqEBnwF/jcm3OSpMDlIeYW3D
lMMzb9sDOqpEGGZt0W/dIbL0OytBpPP+xcYy6PYXuwNlvef+if+W6U/0mTlkMvA5
R/+KWg9dpcirc7OssFyWNkIxVD62AFwQUltd0enbNw==
-----END CERTIFICATE REQUEST-----

Test certificates:

Certificate:
   Data:
       Version: 3 (0x2)
       Serial Number: 12 (0xc)
       Signature Algorithm: md5WithRSAEncryption
Issuer: C=US, ST=California, L=San Mateo, O=Genius Inc, OU=Technologies, CN=Genius Inc/[EMAIL PROTECTED]
       Validity
           Not Before: Feb 14 01:14:51 2006 GMT
           Not After : Feb 12 01:14:51 2016 GMT
Subject: C=US, ST=California, L=San Mateo, O=GotGenie.com, OU=Technologies, CN=*.*.gotgenie.com, CN=*.gotgenie.com, CN=gotgenie.com/subjectAltName=*.*.gotgenie.com/subjectAltName=*.gotgenie.com/subjectAltName=gotgenie.com/nsSslServerName=*.*.gotgenie.com/nsSslServerName=*.gotgenie.com/nsSslServerName=gotgenie.com/[EMAIL PROTECTED]
       Subject Public Key Info:
           Public Key Algorithm: rsaEncryption
           RSA Public Key: (1024 bit)
               Modulus (1024 bit):
                   00:a6:45:fb:05:f6:9f:31:34:0e:88:76:5b:a2:89:
                   ca:d2:84:bb:c0:9a:9a:90:06:a6:d2:66:00:8b:76:
                   53:6a:79:b4:2c:0b:31:7a:7b:31:2d:74:71:43:82:
                   e3:21:4e:2f:b6:3a:f9:5a:32:ca:8e:94:34:ed:c7:
                   99:54:92:b9:90:16:12:ce:21:b0:e2:0a:ee:5b:05:
                   b7:51:58:43:16:7f:5d:c6:89:7d:7a:f1:dc:af:70:
                   79:a3:7f:f4:04:5c:a3:5a:7e:40:62:23:26:11:c3:
                   fd:22:ef:c6:6e:cc:3e:6e:65:14:c0:88:48:83:a3:
                   c0:ff:3e:5d:97:29:f5:fb:61
               Exponent: 65537 (0x10001)
       X509v3 extensions:
           X509v3 Basic Constraints:
           CA:FALSE
           Netscape Comment:
           OpenSSL Generated Certificate
           X509v3 Subject Key Identifier:
           C7:C5:2B:56:F0:9C:48:E3:6C:C6:84:24:0C:C9:85:F9:CA:49:C2:40
           X509v3 Authority Key Identifier:
keyid:48:A3:D0:A4:B7:CB:62:71:54:49:EF:04:B6:D6:96:BF:3C:BB:3E:D5 DirName:/C=US/ST=California/L=San Mateo/O=Genius Inc/OU=Technologies/CN=Genius Inc/[EMAIL PROTECTED]
           serial:00

   Signature Algorithm: md5WithRSAEncryption
       9b:c4:aa:b0:8f:d0:bc:2d:b6:f2:6c:c4:4d:c1:6f:c2:46:88:
       4e:d8:95:95:21:c0:36:f1:a8:0f:9d:ee:3a:44:ad:35:ac:dd:
       12:b6:0a:3f:09:47:c0:d0:ca:be:27:31:97:ff:a7:37:44:00:
       a1:ce:a4:c8:7f:2f:19:77:1c:ce:cf:9a:17:17:6a:52:40:8c:
       2a:10:9b:a5:21:d5:30:1b:5b:38:22:88:f9:fe:82:89:5e:15:
       9a:df:06:3f:e7:2a:d2:a6:6b:8c:02:f7:9a:c6:72:7d:25:e7:
       eb:8c:ef:f1:65:8e:96:a1:87:8b:64:c1:31:e6:b1:4b:10:3b:
       bb:da
-----BEGIN CERTIFICATE-----
MIIErjCCBBegAwIBAgIBDDANBgkqhkiG9w0BAQQFADCBlzELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVNhbiBNYXRlbzETMBEGA1UE
ChMKR2VuaXVzIEluYzEVMBMGA1UECxMMVGVjaG5vbG9naWVzMRMwEQYDVQQDEwpH
ZW5pdXMgSW5jMR4wHAYJKoZIhvcNAQkBFg9raGFpQGdlbml1cy5jb20wHhcNMDYw
MjE0MDExNDUxWhcNMTYwMjEyMDExNDUxWjCCAXkxCzAJBgNVBAYTAlVTMRMwEQYD
VQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlTYW4gTWF0ZW8xFTATBgNVBAoTDEdv
dEdlbmllLmNvbTEVMBMGA1UECxMMVGVjaG5vbG9naWVzMRkwFwYDVQQDFBAqLiou
Z290Z2VuaWUuY29tMRcwFQYDVQQDFA4qLmdvdGdlbmllLmNvbTEVMBMGA1UEAxMM
Z290Z2VuaWUuY29tMRkwFwYDVR0RFBAqLiouZ290Z2VuaWUuY29tMRcwFQYDVR0R
FA4qLmdvdGdlbmllLmNvbTEVMBMGA1UdERMMZ290Z2VuaWUuY29tMR8wHQYJYIZI
AYb4QgEMFBAqLiouZ290Z2VuaWUuY29tMR0wGwYJYIZIAYb4QgEMFA4qLmdvdGdl
bmllLmNvbTEbMBkGCWCGSAGG+EIBDBMMZ290Z2VuaWUuY29tMSAwHgYJKoZIhvcN
AQkBFhFraGFpQGdvdGdlbmllLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEApkX7BfafMTQOiHZboonK0oS7wJqakAam0mYAi3ZTanm0LAsxensxLXRxQ4Lj
IU4vtjr5WjLKjpQ07ceZVJK5kBYSziGw4gruWwW3UVhDFn9dxol9evHcr3B5o3/0
BFyjWn5AYiMmEcP9Iu/Gbsw+bmUUwIhIg6PA/z5dlyn1+2ECAwEAAaOCASMwggEf
MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENl
cnRpZmljYXRlMB0GA1UdDgQWBBTHxStW8JxI42zGhCQMyYX5yknCQDCBxAYDVR0j
BIG8MIG5gBRIo9Ckt8ticVRJ7wS21pa/PLs+1aGBnaSBmjCBlzELMAkGA1UEBhMC
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVNhbiBNYXRlbzETMBEG
A1UEChMKR2VuaXVzIEluYzEVMBMGA1UECxMMVGVjaG5vbG9naWVzMRMwEQYDVQQD
EwpHZW5pdXMgSW5jMR4wHAYJKoZIhvcNAQkBFg9raGFpQGdlbml1cy5jb22CAQAw
DQYJKoZIhvcNAQEEBQADgYEAm8SqsI/QvC228mzETcFvwkaITtiVlSHANvGoD53u
OkStNazdErYKPwlHwNDKvicxl/+nN0QAoc6kyH8vGXcczs+aFxdqUkCMKhCbpSHV
MBtbOCKI+f6CiV4Vmt8GP+cq0qZrjAL3msZyfSXn64zv8WWOlqGHi2TBMeaxSxA7
u9o=
-----END CERTIFICATE-----

openssl.cnf:

#
# OpenSSL example configuration file.
# 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

# Extra OBJECT IDENTIFIER info:
#oid_file               = $ENV::HOME/.oid
oid_section             = new_oids

# To use this configuration file with the "-extfile" option of the
# "openssl x509" utility, name here the section containing the
# X.509v3 extensions to use:
# extensions            =
# (Alternatively, use a configuration file that has only
# X.509v3 extensions in its main [= default] section.)

[ new_oids ]

# We can add new OIDs in here for use by 'ca' and 'req'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6

####################################################################
[ ca ]
default_ca      = CA_default            # The default ca section

####################################################################
[ CA_default ]

dir             = /root/certificates            # 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

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.
# crl_extensions        = crl_ext

default_days    = 3650                  # how long to certify for
default_crl_days= 30                    # how long before next CRL
default_md      = md5                   # which md to use.
preserve        = no                    # keep passed DN ordering

# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy          = policy_anything

# For the CA policy
[ policy_match ]
countryName             = match
stateOrProvinceName     = match
organizationName        = match
organizationalUnitName  = optional
commonName              = supplied
subjectAltName        = supplied
nsSslServerName         = supplied
emailAddress            = optional

# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName             = optional
stateOrProvinceName     = optional
localityName            = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = optional
subjectAltName        = supplied
nsSslServerName         = supplied
emailAddress            = optional

####################################################################
[ req ]
default_bits            = 1024
default_keyfile         = privkey.pem
distinguished_name      = req_distinguished_name
attributes              = req_attributes
x509_extensions = v3_ca # The extentions to add to the self signed cert

# 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.
# 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!
string_mask = nombstr

# req_extensions = v3_req # The extensions to add to a certificate request

[ req_distinguished_name ]
countryName                     = Country Name (2 letter code)
countryName_default             = GB
countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = Berkshire

localityName                    = Locality Name (eg, city)
localityName_default            = Newbury

0.organizationName              = Organization Name (eg, company)
0.organizationName_default      = My Company Ltd

# we can do this but it is not needed normally :-)
#1.organizationName             = Second Organization Name (eg, company)
#1.organizationName_default     = World Wide Web Pty Ltd

organizationalUnitName          = Organizational Unit Name (eg, section)
#organizationalUnitName_default =

0.commonName                    = Common Name (eg, your name or your server\'s 
hostname)
0.commonName_max                        = 64
1.commonName                    = *.gotgenie.com
1.commonName_max                = 64
2.commonName                    = *.*.gotgenie.com
2.commonName_max                = 64

0.subjectAltName                = dNSName: gotgenie.com
1.subjectAltName                = dNSName: *.gotgenie.com
2.subjectAltName                = dNSName: *.*.gotgenie.com
3.subjectAltName                = dNSName: cert.gotgenie.com
4.subjectAltName                = dNSName:
5.subjectAltName                = dNSName:
6.subjectAltName                = dNSName:
7.subjectAltName                = dNSName:

0.nsSslServerName               = nsSslServerName: gotgenie.com
1.nsSslServerName               = nsSslServerName: *.gotgenie.com
2.nsSslServerName               = nsSslServerName: *.*.gotgenie.com

emailAddress                    = Email Address
emailAddress_max                = 64

# SET-ex3                       = SET extension number 3

[ req_attributes ]
challengePassword               = A challenge password
challengePassword_min           = 4
challengePassword_max           = 20

unstructuredName                = An optional company name

[ usr_cert ]

# These extensions are added when 'ca' signs a request.

# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.

basicConstraints=CA:FALSE

# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.

# This is OK for an SSL server.
# nsCertType                    = server

# For an object signing certificate this would be used.
# nsCertType = objsign

# For normal client use this is typical
# nsCertType = client, email

# and for everything including object signing:
# nsCertType = client, email, objsign

# This is typical in keyUsage for a client certificate.
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment

# This will be displayed in Netscape's comment listbox.
nsComment                       = "OpenSSL Generated Certificate"

# PKIX recommendations harmless if included in all certificates.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always

# 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

#nsCaRevocationUrl              = http://www.domain.dom/ca-crl.pem
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName

[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment

[ v3_ca ]


# Extensions for a typical CA


# PKIX recommendation.

subjectKeyIdentifier=hash

authorityKeyIdentifier=keyid:always,issuer:always

# This is what PKIX recommends but some broken software chokes on critical
# extensions.
#basicConstraints = critical,CA:true
# So we do this instead.
basicConstraints = CA:true

# Key usage: this is typical for a CA certificate. However since it will
# prevent it being used as an test self-signed certificate it is best
# left out by default.
# keyUsage = cRLSign, keyCertSign

# Some might want this also
# nsCertType = sslCA, emailCA

# Include email address in subject alt name: another PKIX recommendation
# subjectAltName=email:copy
# Copy issuer details
# issuerAltName=issuer:copy

# DER hex encoding of an extension: beware experts only!
# obj=DER:02:03
# Where 'obj' is a standard or added object
# You can even override a supported extension:
# basicConstraints= critical, DER:30:03:01:01:FF

[ crl_ext ]

# CRL extensions.
# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.

# issuerAltName=issuer:copy
authorityKeyIdentifier=keyid:always,issuer:always


From: "Dr. Stephen Henson" <[EMAIL PROTECTED]>
Reply-To: openssl-users@openssl.org
To: openssl-users@openssl.org
Subject: Re: Wildcard ssl certificate using subjectAltName
Date: Tue, 14 Feb 2006 02:49:36 +0100

On Mon, Feb 13, 2006, Khai Doan wrote:

> Has anyone successfully create a double wildcard certificate
> (*.*.domain.com) ?  Does it work with MSIE 6 XP service pack 2 ?
>
> Attached is my openssl.cnf, my test CSR, and my test certificate. Can you
> please see if anything wrong?
>
> Does anyone has a working certificate with subjectAltName that I can take a
> look ?
>

You can successfully create one easily enough but it is unlikely to work. It is a violation of RFC3280 and probably wont be implemented in MSIE. I haven't
tried it personally so there's an outside chance it might work.

If you want to include multiple separate host names then that is legal and
should work fine.

I can't comment on the CSR and test certificate as the attachment doesn't seem
to have been included...

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]


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

Reply via email to