Mainos / Advertisement:

Ero sivun ”Openssl” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
Rivi 113: Rivi 113:
 
Myös useita IP-osoitteita voi määrittää
 
Myös useita IP-osoitteita voi määrittää
  
=== Yhteenveto ===
+
=== Konffit ===
  
 
   [ req_distinguished_name ]
 
   [ req_distinguished_name ]
Rivi 144: Rivi 144:
 
   emailAddress_max                = 64
 
   emailAddress_max                = 64
 
   emailAddress_default            = [email protected]
 
   emailAddress_default            = [email protected]
+
 
 +
 
 
   [ v3_req ]
 
   [ v3_req ]
 
   
 
   

Versio 11. kesäkuuta 2014 kello 19.31

Asennus

1. Asennetaan Openssl

 aptitude install openssl

2. Luodaan kansio etc/ssl/localcerts

mkdir /etc/ssl/localcerts

openssl.cnf

Laitetaan openssl.conf tiedostoon oletuskonffit helpottamaan myöhempää käyttöä. Korjaa *_default nimellä olevat kohdat sopivilla vaihtoehdoilla.

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

Oletus maa-asetus (maakoodi), esim. FI

 countryName_min                 = 2
 countryName_max                 = 2
 

Määritä lääni/provinssi, esim. Uusimaa

 stateOrProvinceName             = State or Province Name (full name)
 stateOrProvinceName_default     = Lääni/Provinssi


Kaupungin nimi, esim. Helsinki

 localityName                    = Locality Name (eg, city)
 localityName_default            = Kaupunki


Organisaation nimi, esimerkiksi yritys

 0.organizationName              = Organization Name (eg, company)
 0.organizationName_default      = Organisaation nimi
 

Toinen organisaation nimi (vapaaavalintainen)

 # 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 =


Sertifikaatille nimi (verkko-osoite)

 commonName                      = Common Name (e.g. server FQDN or YOUR name)
 commonName_max                  = 64

Sähköpostiosoite ssl sertifikaatilla (valinnainen).

 emailAddress                    = Email Address
 emailAddress_max                = 64
 emailAddress_default            = [email protected]


Määritettyjä *_default ei tarvitse määrittää etukäteen mutta suositeltavaa on. Tämä helpottaa sertifikaatin tekoa.

Lisätään subjectAltName = @alt_names konffi tiedostoon

 [ v3_req ]
 #Extensions to add to a certificate request
 basicConstraints = CA:FALSE
 keyUsage = nonRepudiation, digitalSignature, keyEncipherment
 subjectAltName = @alt_names

Lisää alt_names konffiin ja verkko-osoitteet, jossa sertifikaatti on voimassa

 [alt_names]
 DNS.1 = helenius.dy.fi
 DNS.2 = datatekniikka.fi

ja IP-osoiteet jossa sertifikaatti voimassa.

 IP.1 = 0.0.0.0
 IP.2 = 1.1.1.1


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

Konffit

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

 countryName_min                 = 2
 countryName_max                 = 2
  
 stateOrProvinceName             = State or Province Name (full name)
 stateOrProvinceName_default     = Lääni/Provinssi

 localityName                    = Locality Name (eg, city)
 localityName_default            = Kaupunki

 0.organizationName              = Organization Name (eg, company)
 0.organizationName_default      = Organisaation nimi

 # 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
 emailAddress_default            = [email protected]


 [ v3_req ]

 #Extensions to add to a certificate request

 basicConstraints = CA:FALSE
 keyUsage = nonRepudiation, digitalSignature, keyEncipherment
 subjectAltName = @alt_names

 [alt_names]
 DNS.1 = helenius.dy.fi
 DNS.2 = datatekniikka.fi
 IP.1 = 0.0.0.0
 IP.2 = 1.1.1.1

RootCA - Root sertifikaatti

1. Luodaan RSA avain

 openssl genrsa -des3 -out /etc/ssl/localcerts/rootCA.key 4096
  • des3 = salasana suojattu
  • rootCA.key = tiedoston nimi
  • 4096 = RSA avaimen pituus

2. Luodaan ROOT sertifikaatti

openssl req -x509 -new -nodes -key /etc/ssl/localcerts/rootCA.key -days 3650 -out /etc/ssl/localcerts/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

CSR ja CRT

ROOT sertifikaatti varmentaa alisertifikaatit. Luo ensin root sertifikaatti ensin.

1. Luodaan RSA avain

 openssl genrsa -des3 -out /etc/ssl/localcerts/ssl.key 2048
  • des3 = salasana suojattu
  • ssl.key = tiedoston nimi
  • 2048 = RSA avaimen pituus

Openssl on bugi jos laittaa alisertifikaateille salasana suojaus ja käyttää wildcard ominaisuutta.

2. Luodaan sertifikaatin allekirjoituspyyntö

 openssl req -new -out ssl.csr -key /etc/ssl/localcerts/ssl.key -config /etc/ssl/openssl.cnf

3. Luodaan sertifikaatti ROOT sertifikaatin alle

 openssl x509 -req -in /etc/ssl/localcerts/ssl.csr -CA /etc/ssl/localcerts/rootCA.crt -CAkey /etc/ssl/localcerts/rootCA.key -CAcreateserial  -out /etc/ssl/localcerts/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

Katso lisää

Apache SSL

Mainos / Advertisement: