Openssl
Sisällysluettelo
Asennus
1. Asennetaan Openssl
aptitude install openssl
2. Luodaan kansio locacerts
mkdir /etc/ssl/localcerts
3. Siirry hakemistoon /etc/openssl/localcerts
cd /etc/ssl/localcerts
openssl.cnf
Laitetaan openssl.conf tiedostoon oletuskonffit helpottamaan myöhempää käyttöä.
[ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = FI
Oletus maa-asetus (maakoodi), esim. FI
countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Lääni/Provinssi
Määritä lääni/provinssi, esim. Uusimaa
localityName = Locality Name (eg, city) localityName_default = Kaupunki
Kaupungin nimi, esim. Helsinki
0.organizationName = Organization Name (eg, company) 0.organizationName_default = Organisaation nimi
Organisaation nimi, esimerkiksi yritys
# 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 =
commonName = Common Name (e.g. server FQDN or YOUR name) commonName_max = 64 emailAddress = Email Address emailAddress_max = 64
[ v3_req ]
#Extensions to add to a certificate request
basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names
Lisätään subjectAltName = @alt_names konffi tiedostoon
[alt_names] DNS.1 = helenius.dy.fi DNS.2 = datatekniikka.fi
Verkko-osoitteet, jossa sertifikaatti on voimassa.
IP.1 = 0.0.0.0 IP.2 = 1.1.1.1
IP-osoiteet jossa sertifikaatti voimassa.
Esimerkkejä SubjectAltName
Kaikki numeroidaan loogisesti erikseen... Openssl ei ilmoita virheitä numeroinnista, vaan menee aina alimman mukaan (lukee päälle)
DNS.1 = *.domain.com
Wildcard eli suomeksi jokeri, on sertifikaatti joka on voimassa kaikissa alidomaineissa. Esimerkiksi: www.domain.com ja m.domain.com on automaattisesti wildcard alla... HUOM! Ei domain.com ja www.name.domain.com ole wildcard sertifikaatissa.
DNS.2 = domain.com
Ylätason domain
DNS.3 = www.domain.com
Alidomain, esim. www.domain.com ja m.domain.com.
DNS.4 = www.domain2.com
Sertifikaatit voi osoittaa usealle eri domainille.
IP.1 0.0.0.0.
Laitetaan IP-osoiteet, missä sertifikaatti on voimassa.
IP.2 1.1.1.1
Myös useita IP-osoitteita voi määrittää
RootCA - Root sertifikaatti
1. Luodaan RSA avain
openssl genrsa -des3 -out rootCA.key 4096
- des3 = salasana suojattu
- rootCA.key = tiedoston nimi
- 4096 = RSA avaimen pituus
2. Luodaan ROOT sertifikaatti
openssl req -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.crt
- -days = sertifikaatin voimassaoloaika, esimerkissä 10 vuotta
- -key = tiedosto jossa RSA avain sijaitsee
- -key rootCA.key RSA avain tiedosto, jonka loit aikaisemmin
- -out rootCA.crt = sertifikaatti tiedosto
Luodaan alisertifikaatti
1. Luodaan RSA avain
openssl genrsa -des3 -out ssl.key 2048
- des3 = salasana suojattu
- ssl.key = tiedoston nimi
- 2048 = RSA avaimen pituus
2. Luodaan sertifikaatin allekirjoituspyyntö
openssl req -new -out ssl.csr -key ssl.key -config /etc/ssl/openssl.cnf
3. Luodaan sertifikaatti ROOT sertifikaatin alle
openssl x509 -req -in ssl.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out ssl.crt -days 365 -extensions v3_req -extfile /etc/ssl/openssl.cnf
- -days 365 = sertifikaatin voimassaoloaika
- -extensions v3_req -extfile /etc/ssl/openssl.cnf = Openssl konffi tiedosto, josta haetaan subjectAltName tiedot
Sertifikaattien siirto pfx-tiedoston avulla
Openssl sertifikaattia voidaan käyttää myös muillakin webbiservereillä. Voit siirtää mm. IIS:ään pfx tiedoston avulla.
openssl pkcs12 -export -out ssl.pfx -inkey ssl.key -in ssl.crt -certfile ssl.crt
Sinun tulee määrittää tiedostoon salasana.
- -export -out ssl.pfx = PFX tiedosto jonne sertifikaatit laitetaan
- -inkey ssl.key = RSA avain tiedosto
- -certfile ssl.crt = Root sertifikaatti