Mainos / Advertisement:

Ero sivun ”Openssl” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
Rivi 17: Rivi 17:
 
== openssl.cnf ==
 
== openssl.cnf ==
  
Laitetaan openssl.conf tiedostoon oletuskonffit helpottamaan myöhempää käyttöä.
+
Laitetaan openssl.conf tiedostoon oletuskonffit helpottamaan myöhempää käyttöä. Korjaa *_default nimellä olevat kohdat sopivilla vaihtoehdoilla.
  
 
   [ req_distinguished_name ]
 
   [ req_distinguished_name ]
Rivi 28: Rivi 28:
 
   countryName_max                = 2
 
   countryName_max                = 2
 
    
 
    
 +
Määritä lääni/provinssi, esim. Uusimaa
 
   stateOrProvinceName            = State or Province Name (full name)
 
   stateOrProvinceName            = State or Province Name (full name)
 
   stateOrProvinceName_default    = Lääni/Provinssi
 
   stateOrProvinceName_default    = Lääni/Provinssi
  
Määritä lääni/provinssi, esim. Uusimaa
+
 
 
+
Kaupungin nimi, esim. Helsinki
 
   localityName                    = Locality Name (eg, city)
 
   localityName                    = Locality Name (eg, city)
 
   localityName_default            = Kaupunki
 
   localityName_default            = Kaupunki
  
Kaupungin nimi, esim. Helsinki
+
 
 
+
Organisaation nimi, esimerkiksi yritys
 
   0.organizationName              = Organization Name (eg, company)
 
   0.organizationName              = Organization Name (eg, company)
 
   0.organizationName_default      = Organisaation nimi
 
   0.organizationName_default      = Organisaation nimi
 +
 
 +
Toinen organisaation nimi (vapaaavalintainen)
  
Organisaation nimi, esimerkiksi yritys
 
 
 
 
   # we can do this but it is not needed normally :-)
 
   # we can do this but it is not needed normally :-)
 
   #1.organizationName            = Second Organization Name (eg, company)
 
   #1.organizationName            = Second Organization Name (eg, company)
Rivi 49: Rivi 50:
 
   organizationalUnitName          = Organizational Unit Name (eg, section)
 
   organizationalUnitName          = Organizational Unit Name (eg, section)
 
   #organizationalUnitName_default =
 
   #organizationalUnitName_default =
 +
 +
 +
Sertifikaatille nimi (verkko-osoite)
  
 
   commonName                      = Common Name (e.g. server FQDN or YOUR name)
 
   commonName                      = Common Name (e.g. server FQDN or YOUR name)
 
   commonName_max                  = 64
 
   commonName_max                  = 64
  
Sertifikaatille nimi
+
Sähköpostiosoite ssl sertifikaatilla (valinnainen).
 
+
 
 
   emailAddress                    = Email Address
 
   emailAddress                    = Email Address
 
   emailAddress_max                = 64
 
   emailAddress_max                = 64
 +
  emailAddress_default            = [email protected]
 +
  
Sähköpostiosoite ssl sertifikaatilla (valinnainen). Oletus attribuutin saa lisäämällä
+
Määritettyjä *_default ei tarvitse määrittää etukäteen mutta suositeltavaa on. Tämä helpottaa sertifikaatin tekoa.
  emailAddress_default = [oma_sähköpostiosoite]
 
  
 +
Lisätään '''subjectAltName = @alt_names''' konffi tiedostoon
  
 
   [ v3_req ]
 
   [ v3_req ]
Rivi 70: Rivi 76:
 
   subjectAltName = @alt_names
 
   subjectAltName = @alt_names
  
Lisätään '''subjectAltName = @alt_names''' konffi tiedostoon
+
Lisää alt_names konffiin ja verkko-osoitteet, jossa sertifikaatti on voimassa
  
 
   [alt_names]
 
   [alt_names]
Rivi 76: Rivi 82:
 
   DNS.2 = datatekniikka.fi
 
   DNS.2 = datatekniikka.fi
  
Verkko-osoitteet, jossa sertifikaatti on voimassa.
+
ja IP-osoiteet jossa sertifikaatti voimassa.
  
 
   IP.1 = 0.0.0.0
 
   IP.1 = 0.0.0.0
 
   IP.2 = 1.1.1.1
 
   IP.2 = 1.1.1.1
  
IP-osoiteet jossa sertifikaatti voimassa.
+
 
  
 
=== Esimerkkejä SubjectAltName ===
 
=== Esimerkkejä SubjectAltName ===

Versio 11. kesäkuuta 2014 kello 18.27

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

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

Katso lisää

Apache SSL

Mainos / Advertisement: