Hi,
within my "Dual-Key-Usage"-Environment I use the following ext-Files for seperate Signature and Encryption-Certificates. In fact these are just "User"-Certificates with different keyUsage , extendedKeyUsage and nsComment
Maybe it someone can put them to CVS and update the roles.xml so other users can use them too.
Regards Michael -- Dipl.-Inform. Michael Konietzka Schlund + Partner AG - Development UNIX - Brauerstraße 48 Webservices D-76135 Karlsuhe http://www.schlund.de/ Germany
# 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. # For an object signing certificate this would be used. #nsCertType = objsign # For normal client use this is typical nsCertType = client, email # This is typical also keyUsage = keyEncipherment extendedKeyUsage = emailProtection nsComment = "User Encryption-Certificate of @ca_organization@" # Certificate Template "SmartcardUser" (bmp string) # 1.3.6.1.4.1.311.20.2=DER:1e:1a:00:53:00:6d:00:61:00:72:00:74:00:63:00:61:00:72:00:64:00:55:00:73:00:65:00:72 # PKIX recommendations # PKIX recommendations subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always # Import the email address. [EMAIL PROTECTED] # Copy subject details issuerAltName=issuer:copy nsCaRevocationUrl = @NS_CRLDistributionPoint@ nsRevocationUrl = @NS_CRLDistributionPoint@ crlDistributionPoints = @cdp_section [ subject_alt_name ] __SUBJECT_ALT_NAME__ [ cdp_section ] @CRLDistributionPoints@
# 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. # For an object signing certificate this would be used. #nsCertType = objsign # For normal client use this is typical nsCertType = client, email # This is typical also keyUsage = nonRepudiation, digitalSignature extendedKeyUsage = clientAuth, emailProtection nsComment = "User Signature-Certificate of @ca_organization@" # Certificate Template "SmartcardUser" (bmp string) # 1.3.6.1.4.1.311.20.2=DER:1e:1a:00:53:00:6d:00:61:00:72:00:74:00:63:00:61:00:72:00:64:00:55:00:73:00:65:00:72 # PKIX recommendations # PKIX recommendations subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always # Import the email address. [EMAIL PROTECTED] # Copy subject details issuerAltName=issuer:copy nsCaRevocationUrl = @NS_CRLDistributionPoint@ nsRevocationUrl = @NS_CRLDistributionPoint@ crlDistributionPoints = @cdp_section [ subject_alt_name ] __SUBJECT_ALT_NAME__ [ cdp_section ] @CRLDistributionPoints@
# # 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 = /usr/local/ca//OpenCA/var/crypto/keys/.rand # 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 ## used by ISIS-MTT pseudonym=2.5.4.65 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = /usr/local/ca//OpenCA/var/crypto # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crls # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir/certs # default place for new certs. certificate = $dir/cacerts/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crls/current.pem # The current CRL private_key = $dir/keys/cakey.pem # The private key RANDFILE = $dir/keys/.rand # private random number file oid_file = $dir/.oid #crl_extensions = crl_ext # Extensions to add to CRL # As Netscape only accepts CLRs V1, # DON't use CRL's extensions # at least if you are uning Netscape # 4.5(-). default_days = 365 # how long to certify for default_crl_days= 31 # how long before next CRL default_md = sha1 # which md to use. preserve = yes # 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_match # For the CA policy [ policy_match ] countryName = optional organizationName = optional organizationalUnitName = optional commonName = optional 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 [ req_distinguished_name ] emailAddress = Email Address emailAddress_max = 60 commonName = Common Name (eg, YOUR name) commonName_max = 64 organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = Humboldt-Universitaet zu Berlin User 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Humboldt-Universitaet zu Berlin countryName = Country Name (2 letter code) countryName_default = de countryName_min = 2 countryName_max = 2 ## stateOrProvinceName = State or Province Name (full name) ## stateOrProvinceName_default = Some-State ## localityName = Locality Name (eg, city) # 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 SET-ex3 = SET extension number 3 [ req_attributes ] ## challengePassword = A challenge password ## challengePassword_min = 4 ## challengePassword_max = 20 ## unstructuredName = An optional company name [ v3_ca] # Extensions for a typical CA # It's a CA certificate basicConstraints = CA:true # 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 # Key usage: again this should really be critical. 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 # RAW DER hex encoding of an extension: beware experts only! # 1.2.3.5=RAW:02:03 # You can even override a supported extension: # basicConstraints= critical, RAW:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # As Netscape only accepts CLRs Version1, DON't use CRL's extensions # at least if you are uning Netscape 4.5(-). # issuerAltName=issuer:copy # authorityKeyIdentifier=keyid:always,issuer:always
# # 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 = /usr/local/ca//OpenCA/var/crypto/keys/.rand # 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 ## used by ISIS-MTT pseudonym=2.5.4.65 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = /usr/local/ca//OpenCA/var/crypto # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crls # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir/certs # default place for new certs. certificate = $dir/cacerts/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crl = $dir/crls/current.pem # The current CRL private_key = $dir/keys/cakey.pem # The private key RANDFILE = $dir/keys/.rand # private random number file oid_file = $dir/.oid #crl_extensions = crl_ext # Extensions to add to CRL # As Netscape only accepts CLRs V1, # DON't use CRL's extensions # at least if you are uning Netscape # 4.5(-). default_days = 365 # how long to certify for default_crl_days= 31 # how long before next CRL default_md = sha1 # which md to use. preserve = yes # 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_match # For the CA policy [ policy_match ] countryName = optional organizationName = optional organizationalUnitName = optional commonName = optional 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 [ req_distinguished_name ] emailAddress = Email Address emailAddress_max = 60 commonName = Common Name (eg, YOUR name) commonName_max = 64 organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = Humboldt-Universitaet zu Berlin User 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Humboldt-Universitaet zu Berlin countryName = Country Name (2 letter code) countryName_default = de countryName_min = 2 countryName_max = 2 ## stateOrProvinceName = State or Province Name (full name) ## stateOrProvinceName_default = Some-State ## localityName = Locality Name (eg, city) # 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 SET-ex3 = SET extension number 3 [ req_attributes ] ## challengePassword = A challenge password ## challengePassword_min = 4 ## challengePassword_max = 20 ## unstructuredName = An optional company name [ v3_ca] # Extensions for a typical CA # It's a CA certificate basicConstraints = CA:true # 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 # Key usage: again this should really be critical. 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 # RAW DER hex encoding of an extension: beware experts only! # 1.2.3.5=RAW:02:03 # You can even override a supported extension: # basicConstraints= critical, RAW:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # As Netscape only accepts CLRs Version1, DON't use CRL's extensions # at least if you are uning Netscape 4.5(-). # issuerAltName=issuer:copy # authorityKeyIdentifier=keyid:always,issuer:always