Sertifikaatide haldamine openssl abil: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | ||
==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== | ==Mis on sertifikaat== | ||
Andmekogum mis kinnitab kellegile kolmandale, et esitatud andmed on tõesed ja ajakohased. | |||
==Laiendatud kinnitusega sertifikaat (EV)== | ==Laiendatud kinnitusega sertifikaat (EV)== | ||
X.509 avaliku võtme sertifikaat mida kasutatakse veebilehitsejate juures. Täpsemalt: [http://en.wikipedia.org/wiki/Extended_Validation_Certificate Extended Validation Certificate] | |||
===EV sertifikaadid on töötavad järgmiste veebilehitsejatega=== | ===EV sertifikaadid on töötavad järgmiste veebilehitsejatega=== | ||
Line 18: | Line 27: | ||
==Sertifikaatide loomine== | ==Sertifikaatide loomine== | ||
===Sertifitseerimiskeskuse loomine (CA)=== | ===Sertifitseerimiskeskuse loomine (CA)=== | ||
Loome enda sertifitseerimiskeskuse, millega hakkame sertifitseerima. | Loome enda sertifitseerimiskeskuse, millega hakkame sertifitseerima. | ||
openssl genrsa -aes256 -out root_ca.key 4096 | |||
Krüpteerida on võimalik veel des,des3,aes128,aes192,aes256. | Krüpteerida on võimalik veel des,des3,aes128,aes192,aes256. | ||
RSA võtme pikkus võiks olla vähemalt 1024 bitti. | 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 | |||
Järgnevate küsimuste vaikeväärtused ([AU], Internet Widgits Pty Ltd, jne) | 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 | Country Name (2 letter code) [AU]:EE | ||
Line 41: | Line 47: | ||
===Serveri sertifikaadi loomine=== | ===Serveri sertifikaadi loomine=== | ||
Serveri privaatvõtme loomine | |||
openssl genrsa -aes256 -out server.key 1024 | |||
Serveri privaatvõtme põhjal loome sertifikaadi taotluse | |||
openssl req -new -key server.key -out server.csr | |||
Kus '''Comman Name''' väljas tuleks kasutada lehe veebiaadressi. | |||
Country Name (2 letter code) [AU]:EE | Country Name (2 letter code) [AU]:EE | ||
State or Province Name (full name) [Some-State]:Harjumaa | State or Province Name (full name) [Some-State]:Harjumaa | ||
Line 53: | Line 62: | ||
Email Address []: | Email Address []: | ||
Allkirjastame sertifikaadi taotluse CA privaat võ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 | |||
===Serveri võtmest parooli eemaldamine=== | ===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 vaatamine=== | ===Sertifikaatide vaatamine=== | ||
Serveri privaatvõtme vaatamine | |||
openssl rsa -noout -text -in server.key | |||
Serveri sertifikaadi taotluse vaatamine | |||
openssl req -noout -text -in server.csr | |||
''' | CA sertifikaadi vaatamine | ||
'''openssl x509 -noout -text -in root_ca.crt''' | |||
Certificate: | Certificate: | ||
Data: | Data: | ||
Line 109: | Line 123: | ||
d4:1b | d4:1b | ||
''' | Serveri sertifikaadi vaatamine, kus näeme kes on allkirjastanud selle "Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority". | ||
'''openssl x509 -noout -text -in server.crt''' | |||
Certificate: | Certificate: | ||
Data: | Data: | ||
Line 145: | Line 160: | ||
===Loodud sertifikaadid=== | ===Loodud sertifikaadid=== | ||
server.crt: | server.crt: Iseallkirjastatud serveri sertifikaat | ||
server.csr: | server.csr: Serveri sertifikaadi allkirja taotlus | ||
server.key: | server.key: Serveri privaatvõti. (Ei nõua parooli apache käivitamisel) | ||
server.key.secure: | server.key.secure: Serveri privaatvõti. (Nõuab parooli apache käivitamisel) | ||
root_ca.crt: | root_ca.crt: Sertifikatseerimiskeskuse sertifikaat | ||
root_ca.key: | root_ca.key: Võti millega CA allkirjastab sertifikaadi allkirja taotlusi | ||
==Autor== | ==Autor== | ||
Line 161: | Line 176: | ||
==Kasutatud materjal== | ==Kasutatud materjal== | ||
*[http://www.tc.umn.edu/~brams006/selfsign.html http://www.tc.umn.edu/~brams006/selfsign.html] | *[http://www.tc.umn.edu/~brams006/selfsign.html http://www.tc.umn.edu/~brams006/selfsign.html] | ||
*[http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html http:// | *[http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html] | ||
*[http://kuutorvaja.eenet.ee/wiki/Sertifikaadid http://kuutorvaja.eenet.ee/wiki/Sertifikaadid] | *[http://kuutorvaja.eenet.ee/wiki/Sertifikaadid http://kuutorvaja.eenet.ee/wiki/Sertifikaadid] | ||
*[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] |
Revision as of 11:20, 16 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 4096
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
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 põhjal loome sertifikaadi taotluse
openssl req -new -key server.key -out server.csr
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 privaat võ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
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 vaatamine
Serveri privaatvõtme vaatamine
openssl rsa -noout -text -in server.key
Serveri sertifikaadi taotluse vaatamine
openssl req -noout -text -in server.csr
CA sertifikaadi vaatamine
openssl x509 -noout -text -in root_ca.crt Certificate: Data: Version: 3 (0x2) Serial Number: e0:0c:f0:5f:ef:4b:09:67 Signature Algorithm: sha1WithRSAEncryption Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority Validity Not Before: Apr 17 15:30:29 2011 GMT Not After : Apr 16 15:30:29 2012 GMT Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cc:c9:cc:53:2a:3d:d2:a6:e2:8a:a0:e9:89:50: 01:d0:33:64:6e:a5:9c:b7:b9:ba:5e:d5:a0:57:ad: a5:82:3b:d4:1d:ef:6e:77:5f:a9:0c:9b:b2:a8:1c: be:74:74:dc:01:26:05:0c:6d:85:9f:0e:22:29:79: f1:3c:72:50:57:ef:b6:90:d7:91:1c:50:38:16:b3: c1:9d:ce:00:4b:f6:1d:71:39:6f:79:02:d6:46:9d: 23:06:79:95:74:b8:16:72:6e:57:e2:1e:b2:4d:fe: 41:e9:c7:a4:45:29:e4:d4:77:80:4b:0b:1d:8d:ef: 86:ea:35:e4:bc:45:d3:3d:0b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 7E:FA:85:82:7C:36:A3:60:EB:47:C3:14:4C:01:04:79:E6:5C:B9:5D X509v3 Authority Key Identifier: keyid:7E:FA:85:82:7C:36:A3:60:EB:47:C3:14:4C:01:04:79:E6:5C:B9:5D DirName:/C=EE/ST=Harjumaa/L=Tallinn/O=IT Kolledz Certificate Authority/CN=IT Kolledz Certificate Authority serial:E0:0C:F0:5F:EF:4B:09:67 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha1WithRSAEncryption 4d:6d:66:d4:ab:82:78:d9:ac:b5:de:5f:b7:55:69:bf:22:96: b6:7d:af:13:46:f3:f2:32:ae:80:a6:0f:53:7a:33:d6:9f:89: e7:98:42:d3:6c:53:98:47:12:b0:01:6e:d1:c3:03:f0:ac:ed: d2:d8:a5:5c:c8:9f:b9:73:ba:26:cc:69:f9:c3:e4:42:7d:d0: dc:c5:1c:63:e0:35:b0:46:c2:02:0a:9e:b6:b4:49:74:09:2e: 39:a3:65:f1:e5:55:90:02:c1:12:5e:0c:3a:6f:9e:33:49:6a: 19:46:24:2d:dd:3f:da:a4:27:ce:a8:89:9a:89:c2:ac:ec:b3: d4:1b
Serveri sertifikaadi vaatamine, kus näeme kes on allkirjastanud selle "Issuer: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz Certificate Authority, CN=IT Kolledz Certificate Authority".
openssl x509 -noout -text -in server.crt 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: Apr 17 15:41:32 2011 GMT Not After : Apr 16 15:41:32 2012 GMT Subject: C=EE, ST=Harjumaa, L=Tallinn, O=IT Kolledz, CN=wiki.itcollege.ee Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c0:be:6c:96:90:0d:d6:a1:69:aa:eb:ae:b6:fd: 43:ac:17:48:fd:ab:95:57:54:e5:7c:c1:ba:26:d7: 8e:e1:59:24:a7:b9:46:cd:07:74:53:1f:6c:58:ad: 26:46:27:9c:ac:13:c2:4c:1d:54:08:32:67:d7:34: 39:56:90:55:cb:67:68:13:bd:e1:83:11:09:fd:b4: a8:22:82:35:28:52:38:d8:27:29:31:48:ca:8f:72: f4:ca:0f:61:c0:64:c9:8d:cd:7f:79:33:1d:59:1b: a2:de:80:fa:99:73:00:73:9d:5d:f8:40:0b:c5:63: 5e:12:25:bc:29:ec:39:3b:a3 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 79:38:cd:49:84:84:fd:fe:9b:69:87:ec:b2:0e:9a:b6:2c:87: b1:fc:5f:ac:c9:62:d1:c5:b5:09:46:45:4e:19:12:70:3f:89: c6:a5:b1:4e:33:07:66:91:6e:18:f1:07:79:98:a9:25:2d:a0: 12:6f:d1:9d:52:0a:21:ed:e3:c0:f7:d6:f0:58:ef:c8:3a:35: 33:32:85:fb:99:9f:5e:1f:a4:16:4b:68:2e:f7:5b:69:fc:38: d0:e7:d3:fd:a9:18:93:03:e8:a4:7d:60:8a:ca:2a:f9:24:ef: e3:d0:7f:d3:0a:f6:aa:ff:89:ac:6c:40:1d:48:c8:15:39:ba: bc:5d
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: Sertifikatseerimiskeskuse sertifikaat
root_ca.key: Võti millega CA allkirjastab sertifikaadi allkirja taotlusi
Autor
Lauri Liibert AK21 Aprill 2011