Sertifikaatide haldamine openssl abil: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
Loome enda sertifitseerimiskeskuse, millega hakkame sertifitseerima. | Loome enda sertifitseerimiskeskuse, millega hakkame sertifitseerima. | ||
openssl genrsa -aes256 -out root_ca.key | openssl genrsa -aes256 -out root_ca.key 1024 | ||
Krüpteerida on võimalik veel des,des3,aes128,aes192,aes256. | Krüpteerida on võimalik veel des,des3,aes128,aes192,aes256. | ||
Line 35: | Line 35: | ||
openssl req -new -x509 -days 3650 -key root_ca.key -out root_ca.crt | openssl req -new -x509 -days 3650 -key root_ca.key -out root_ca.crt | ||
Sertifikaadi vaatamine | |||
openssl x509 -noout -text -in root_ca.crt | |||
Järgnevate küsimuste vaikeväärtused ([AU], Internet Widgits Pty Ltd, jne) asuvad /etc/ssl/openssl.cnf. Kui on plaanis luua palju sertifikaate siis tasub neid väärtused ära muuta. | Järgnevate küsimuste vaikeväärtused ([AU], Internet Widgits Pty Ltd, jne) asuvad /etc/ssl/openssl.cnf. Kui on plaanis luua palju sertifikaate siis tasub neid väärtused ära muuta. | ||
Line 50: | Line 53: | ||
openssl genrsa -aes256 -out server.key 1024 | openssl genrsa -aes256 -out server.key 1024 | ||
Serveri privaatvõtme põhjal loome sertifikaadi taotluse | Serveri privaatvõtme vaatamine | ||
openssl rsa -noout -text -in server.key | |||
Serveri privaatvõtme põhjal loome sertifikaadi taotluse. '''Taotlus on allkirjastamata sertifikaat.''' | |||
openssl req -new -key server.key -out server.csr | openssl req -new -key server.key -out server.csr | ||
Serveri sertifikaadi taotluse vaatamine. | |||
openssl req -noout -text -in server.csr | |||
Allkirjastamata sertifikaadi osa: | |||
Certificate Request: | |||
Data: | |||
Version: 0 (0x0) | |||
Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee | |||
Kus '''Comman Name''' väljas tuleks kasutada lehe veebiaadressi. | Kus '''Comman Name''' väljas tuleks kasutada lehe veebiaadressi. | ||
Line 62: | Line 77: | ||
Email Address []: | Email Address []: | ||
Allkirjastame sertifikaadi taotluse CA | Allkirjastame sertifikaadi taotluse CA privaatvõtmega. Loome serverile sertifikaadi kehtivusega aasta. | ||
openssl x509 -req -days 365 -in server.csr -CA root_ca.crt -CAkey root_ca.key -set_serial 01 -out server.crt | openssl x509 -req -days 365 -in server.csr -CA root_ca.crt -CAkey root_ca.key -set_serial 01 -out server.crt | ||
Allkirjastame sertifikaadi taotluse iseendaga ('''self-signed'''). Seda tehes ei ole vaja sertifikaadikeskust. '''Sellist lahendust võib kasutada ainult testimiseks või hädakorras sisevõrgus.''' | |||
openssl req -x509 -days 356 -key server.key -in server.csr -out server_ss.crt | |||
openssl | |||
CA sertifikaadi | CA poolt allkirjastatud sertifikaadi osa, iseallkirjastatud sertifikaadi korral oleks Issuer sama mis Subject: | ||
openssl x509 -in server.crt -text -noout | |||
Certificate: | Certificate: | ||
Data: | Data: | ||
Line 132: | Line 92: | ||
Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority | Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority | ||
Validity | Validity | ||
Not Before: | Not Before: May 28 19:50:28 2011 GMT | ||
Not After : | Not After : May 27 19:50:28 2012 GMT | ||
Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee | Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee | ||
===Serveri võtmest parooli eemaldamine=== | |||
Kui parooli jätame võtmesse siis apache taaskäivitamine nõuab parooli. | |||
openssl rsa -in server.key -out server.key.insecure | |||
mv server.key server.key.secure | |||
mv server.key.insecure server.key | |||
===Sertifikaatide konverteermine teise formaati=== | |||
.crt faili konventeermine pem formaati | |||
openssl x509 -in server.crt -out server.der -outform DER | |||
openssl x509 -in server.der -inform DER -out server.pem -outform PEM | |||
.pem faili konventeermine der formaati | |||
openssl x509 -in server.pem -out server.der -outform der | |||
.pfx ja .p12 faili loomine | |||
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile root_ca.crt | |||
.pfx ja .p12 faili konventeermine pem formaati | |||
openssl pkcs12 -in server.pfx -out server.pem -nodes | |||
===Loodud sertifikaadid=== | ===Loodud sertifikaadid=== | ||
Line 180: | Line 142: | ||
*[http://kuutorvaja.eenet.ee/wiki/OpenSSL http://kuutorvaja.eenet.ee/wiki/OpenSSL] | *[http://kuutorvaja.eenet.ee/wiki/OpenSSL http://kuutorvaja.eenet.ee/wiki/OpenSSL] | ||
*[http://www.digicert.com/ev-ssl-certification.htm http://www.digicert.com/ev-ssl-certification.htm] | *[http://www.digicert.com/ev-ssl-certification.htm http://www.digicert.com/ev-ssl-certification.htm] | ||
*[http://shib.kuleuven.be/docs/ssl_commands.shtml http://shib.kuleuven.be/docs/ssl_commands.shtml] |
Latest revision as of 09:06, 29 May 2011
Sissejuhatus
Loome enda sertifitseerimiskeskuse (CA - Certificate Authority) ja allkirjastame sellega sertifikaate. Selleks kasutame OpenSSL'i. OpenSSL http://www.openssl.org/ on vaba tarkvaraline SSL ja TLS protokollide implementatsioon ja pakub veel tugevat üldotstarbelist krüptograafiat.
Juhendi kasutamiseks on vajalik openssl ver 0.9.8 või uuem ja opertasioonisüsteemina on kasutatud Ubuntu Server 10.10 keskkonda. Openssl versiooni vaatamine:
openssl version OpenSSL 0.9.8o 01 Jun 2010
Mis on sertifikaat
Andmekogum mis kinnitab kellegile kolmandale, et esitatud andmed on tõesed ja ajakohased.
Laiendatud kinnitusega sertifikaat (EV)
X.509 avaliku võtme sertifikaat mida kasutatakse veebilehitsejate juures. Täpsemalt: Extended Validation Certificate
EV sertifikaadid on töötavad järgmiste veebilehitsejatega
- Google Chrome
- IE 5.01+
- AOL 5+
- Netscape 4.7+
- Opera 7+
- Safari
- Mozilla 1+
- Firefox 1+
- Konqeror
Sertifikaatide loomine
Sertifitseerimiskeskuse loomine (CA)
Loome enda sertifitseerimiskeskuse, millega hakkame sertifitseerima.
openssl genrsa -aes256 -out root_ca.key 1024
Krüpteerida on võimalik veel des,des3,aes128,aes192,aes256. RSA võtme pikkus võiks olla vähemalt 1024 bitti.
openssl req -new -x509 -days 3650 -key root_ca.key -out root_ca.crt
Sertifikaadi vaatamine
openssl x509 -noout -text -in root_ca.crt
Järgnevate küsimuste vaikeväärtused ([AU], Internet Widgits Pty Ltd, jne) asuvad /etc/ssl/openssl.cnf. Kui on plaanis luua palju sertifikaate siis tasub neid väärtused ära muuta.
Country Name (2 letter code) [AU]:EE State or Province Name (full name) [Some-State]:Harjumaa Locality Name (eg, city) []:Tallinn Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT Kolledz Certificate Authority Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:IT Kolledz Certificate Authority Email Address []:
Serveri sertifikaadi loomine
Serveri privaatvõtme loomine
openssl genrsa -aes256 -out server.key 1024
Serveri privaatvõtme vaatamine
openssl rsa -noout -text -in server.key
Serveri privaatvõtme põhjal loome sertifikaadi taotluse. Taotlus on allkirjastamata sertifikaat.
openssl req -new -key server.key -out server.csr
Serveri sertifikaadi taotluse vaatamine.
openssl req -noout -text -in server.csr
Allkirjastamata sertifikaadi osa:
Certificate Request: Data: Version: 0 (0x0) Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee
Kus Comman Name väljas tuleks kasutada lehe veebiaadressi.
Country Name (2 letter code) [AU]:EE State or Province Name (full name) [Some-State]:Harjumaa Locality Name (eg, city) []:Tallinn Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT Kolledz Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:wiki.itcollege.ee Email Address []:
Allkirjastame sertifikaadi taotluse CA privaatvõtmega. Loome serverile sertifikaadi kehtivusega aasta.
openssl x509 -req -days 365 -in server.csr -CA root_ca.crt -CAkey root_ca.key -set_serial 01 -out server.crt
Allkirjastame sertifikaadi taotluse iseendaga (self-signed). Seda tehes ei ole vaja sertifikaadikeskust. Sellist lahendust võib kasutada ainult testimiseks või hädakorras sisevõrgus.
openssl req -x509 -days 356 -key server.key -in server.csr -out server_ss.crt
CA poolt allkirjastatud sertifikaadi osa, iseallkirjastatud sertifikaadi korral oleks Issuer sama mis Subject:
openssl x509 -in server.crt -text -noout Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority Validity Not Before: May 28 19:50:28 2011 GMT Not After : May 27 19:50:28 2012 GMT Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee
Serveri võtmest parooli eemaldamine
Kui parooli jätame võtmesse siis apache taaskäivitamine nõuab parooli.
openssl rsa -in server.key -out server.key.insecure mv server.key server.key.secure mv server.key.insecure server.key
Sertifikaatide konverteermine teise formaati
.crt faili konventeermine pem formaati
openssl x509 -in server.crt -out server.der -outform DER openssl x509 -in server.der -inform DER -out server.pem -outform PEM
.pem faili konventeermine der formaati
openssl x509 -in server.pem -out server.der -outform der
.pfx ja .p12 faili loomine
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile root_ca.crt
.pfx ja .p12 faili konventeermine pem formaati
openssl pkcs12 -in server.pfx -out server.pem -nodes
Loodud sertifikaadid
server.crt: Iseallkirjastatud serveri sertifikaat
server.csr: Serveri sertifikaadi allkirja taotlus
server.key: Serveri privaatvõti. (Ei nõua parooli apache käivitamisel)
server.key.secure: Serveri privaatvõti. (Nõuab parooli apache käivitamisel)
root_ca.crt: CA sertifikaat
root_ca.key: Võti millega CA allkirjastab sertifikaadi allkirja taotlusi
Autor
Lauri Liibert AK21 Aprill 2011