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.

Auta toista

Pyöräilin keskiviikkoiltana yhdentoistamaissa kohti kotia, kun näin miehen makaamassa lumihangessa kävelytien reunalla. Pysähdyin ja kysyin onko kaikki OK? Hän päästyään pystyyn totesi suomalaiseen äijätyyliin, että hän on ihan kunnossa. Katsoessani miestä totesin hänen olevan vanhempi herrasmies ja “hyvässä maistissa”. Hyppäsin pois pyörän päältä ja kysyin kävisikö hänelle jos kävelen hänen kanssa kotiin. Hän hyväksyi tarjoukseni ja otin hänet käsikyykkään. Kävelimme 15-20 minuuttia hänen asunnolleen jutellen niitä näitä. Matkan aikana hän kyseli minulta “Mitä minä saan tästä?”, johon minä vastasin “Jos tilanne on koskaan toisinpäin, toivon että joku auttaa minua”. Hän matkan aikana toisti monesti “Olet hyvä ihminen”. Minulle myös paljastui että hän on lopulta vain pikkujoulujen uhri Smile.

Iltani kohokohta oli se hetki kun pääsimme hänen kerrostalon rappuun ja hän sai oven auki. Hän otti kasvoistani kiinni ja kiitti minua vielä kerran kertoen minulle kuinka hyvä ja harvinainen ihminen olen. Tuo toisen ihmisen kiitollisyys lämmitti sydäntäni valtavasti ja jää mieleeni pitkäksi aikaa. Tuon vuoksi kirjoitin tämän blogiviestin. Tahdon muille yhtä mahtavan fiiliksen! Auttakaa toista ihmistä, jos se vaan suinkin on mahdollista, se tunne auttamisen jälkeen on sanoinkuvaamaton.