Ero sivun ”Openssl” versioiden välillä
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 | ||
− | + | ||
− | + | Kaupungin nimi, esim. Helsinki | |
localityName = Locality Name (eg, city) | localityName = Locality Name (eg, city) | ||
localityName_default = Kaupunki | localityName_default = Kaupunki | ||
− | + | ||
− | + | 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) | ||
− | |||
− | |||
# 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 | ||
− | + | Sähköpostiosoite ssl sertifikaatilla (valinnainen). | |
− | + | ||
emailAddress = Email Address | emailAddress = Email Address | ||
emailAddress_max = 64 | 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 ] | [ v3_req ] | ||
Rivi 70: | Rivi 76: | ||
subjectAltName = @alt_names | subjectAltName = @alt_names | ||
− | + | 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 | ||
− | + | 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 | ||
− | + | ||
=== Esimerkkejä SubjectAltName === | === Esimerkkejä SubjectAltName === |
Versio 11. kesäkuuta 2014 kello 18.27
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öä. 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