Sub CA

Tämän operaation jälkeen voin alkaa jo käyttämään tätä rakennelmaa, eli luomaan varmeneita koneilleni. Ei ollut edes vaikea setti Open-mouthed smile.

Pohjatyöt

Samat kuin aikaisemmin katso OpenSSL ja CA:n luominen. Varsinainen konfiguraatiotiedosto:

Konfiguraatiotiedosto

Alku on pitkälti sama, muutetaan vaan määritykset täsmäämään uuteen hakemistorakenteeseen ja varmenteisiin.

#
# OpenSSL configuration for Leivo Sub CA
#

# This definition stops the following lines choking if HOME isn’t
# defined.
HOME            = .
RANDFILE        = $ENV::HOME/.rnd

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

############################# Defining CA ######################################
[ Leivo_sub ]

dir        = d:/temp/sub-testCA    # 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/Leivo_sub.pem    # The CA certificate
serial        = $dir/serial         # The current serial number
crlnumber    = $dir/crlnumber    # the current crl number
crl        = $dir/crl.pem         # The current CRL
private_key    = $dir/private/sub-ca.key # The private key
RANDFILE    = $dir/private/.rand    # private random number file
string_mask    = utf8only

######################## End of defining CA ####################################

Tästä kohtaa alkaa pääasialliset erot. Luulen, että yleensä allekirjoitan palvelimen SSL varmenteita, joten peruslaajennus, joka lisätään varmenteeseen on ssl_cert. Myönnän yleensä vuoden voimassaolevia varmenteita, joten default_days on 365. CRL on voimassa maksimissaan 3 päivää, ei vuoden kuten juuri CA:n kanssa.

#################### Defining certificate signing ##############################
x509_extensions    = ssl_cert        # The extentions to add to the cert
name_opt     = ca_default        # Subject Name options
cert_opt     = ca_default        # Certificate field options

crl_extensions    = crl_ext

default_days    = 365            # how long to certify for
default_crl_days= 3             # how long before next CRL
default_md    = sha256        # use public key default MD
preserve    = no            # keep passed DN ordering

policy        = policy_match

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

################## End of defining certificate signing #########################

Tässä kohtaa sisältö on jo täysin eri. Sub CA ei saa allekirjoittaa itselleen Sub CA, joten kaikki varmenteet ovat mallia basicConstraints= CA:FALSE. SSL_CERT on normaali SSL varmenne SSL palvelin laajennuksin. USR_CERT on käyttäjävarmenne SSL asiakas laajennuksin. OCSP on OCSP:n varmenne rakenne.

################## Certificate types #########################

[ ssl_cert ]
basicConstraints        = CA:FALSE
keyUsage            = critical, keyEncipherment, digitalSignature
extendedKeyUsage        = serverAuth
crlDistributionPoints     = URI:http://crl.leivo.org/LeivoICA-crl.crl
authorityInfoAccess         = OCSP;URI:http://ocsp.leivo.org:4444

[ usr_cert ]
basicConstraints        = CA:FALSE
keyUsage            = critical, nonRepudiation, keyEncipherment, digitalSignature
extendedKeyUsage        = clientAuth
crlDistributionPoints     = URI:http://crl.leivo.org/LeivoICA-crl.crl
authorityInfoAccess         = OCSP;URI:http://ocsp.leivo.org:4444

[ crl_ext ]
issuerAltName            = issuer:copy
authorityKeyIdentifier    = keyid:always

[ ocsp ]
basicConstraints        = CA:FALSE
subjectKeyIdentifier        = hash
authorityKeyIdentifier    = keyid:always,issuer
extendedKeyUsage        = critical, 1.3.6.1.5.5.7.3.9
crlDistributionPoints     = URI:http://crl.leivo.org/LeivoICA-crl.crl

################## End of Certificate types #########################

########################### Basic SSL request ##################################
[ req ]
default_bits            = 2048
default_keyfile         = privkey.pem
distinguished_name        = req_distinguished_name
req_extensions        = extensions
string_mask            = utf8only

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

0.organizationName        = Organization Name (eg, company)
0.organizationName_default    = Leivo.org

# get the DN name for the certificate
commonName            = Server FQDN
commonName_max        = 64

[ extensions ]
basicConstraints         = CA:FALSE
keyUsage             = critical, keyEncipherment, digitalSignature
extendedKeyUsage        = serverAuth
#subjectAltName         = @alt_names

[alt_names]
#IP.1 = 192.168.8.3        # Invalid according to CA/B forum
#DNS.2 = homeserver        # Invalid according to CA/B forum
#DNS.1 = home.leivo.org

######################### End basic SSL request ################################

CA hörskymään

Kun pohjatyöt ja konfiguraatiotiedosto on kohdallaan jäljelle jää enää CRL:n jatkuva julkaisu ja OCSP:n laittaminen päälle.

Leave a Reply