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 .
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.