Next revision
|
Previous revision
|
sw:security [2022/01/26 11:38] 127.0.0.1 external edit |
sw:security [2024/07/31 08:17] (current) tomas |
do databaze klicu v CA databazi). Pote autorita odesle overeny verejny klic spoku s overenym podpisem autority. CA buze byt but korenova, | do databaze klicu v CA databazi). Pote autorita odesle overeny verejny klic spoku s overenym podpisem autority. CA buze byt but korenova, |
duveryhodna, nebo intermediate - zretezena - CA overena korenovou CA, nebo CA co byla zretezene overena korenovou CA. | duveryhodna, nebo intermediate - zretezena - CA overena korenovou CA, nebo CA co byla zretezene overena korenovou CA. |
| **Revokace** - revokovaný certifikát je vydaný certifikát, který se zneplatní. Klient musí kontrolovat, zda je certifikát revokovaný. Lze ověřit pomocí čísla certifikáto, např:\\ |
| curl http://crl3.digicert.com/DigicertSHA2SecureServerCA-1.crl | openssl crl -inform DER -noout -text|less\\ |
| curl http://crl4.digicert.com/DigicertSHA2SecureServerCA-1.crl | openssl crl -inform DER -noout -text|less\\ |
| |
====Klicenky:==== | ====Klicenky:==== |
keystore.jks ... Java Keystore | keystore.jks ... Java Keystore |
keystore.p12 ... Klicenka ve formatu PKCS12\\ | keystore.p12 ... Klicenka ve formatu PKCS12\\ |
| |
| ====Typy kódování==== |
| DER ... Distinguished Encoding Rules ... binární forma\\ |
| PEM ... Privacy Enhanced Mail = certifikát v base64 podobě a uzavřený -----BEGIN xxx----- a -----END xxx-----\\ |
| PKCS12 neboli PFX ... binární formát pro ukládání více klíču, či certifikátů chránněné heslem\\ |
| |
====Typy souboru==== | ====Typy souboru==== |
key.csr ... Certificate Signing Request - zadost o certifikaci certifikatu\\ | key.csr ... Certificate Signing Request - zadost o certifikaci certifikatu\\ |
key.key ... Private key\\ | key.key ... Private key\\ |
key.crt ... certifikat v textove podobe (PEM = base64) nebo v binarni podobe DER\\ | key.crt ... certifikat v textove podobe PEM nebo v binarni podobe DER\\ |
key.cer ... certifikat textove podobe, (PEM = base64) nebo v binarni podobe DER\\ | key.cer ... certifikat textove podobe, PEM nebo v binarni podobe DER\\ |
key.pem ... certifikat v PEM kodovani (X.509) v base64/asci podobe\\ | key.pem ... certifikat v PEM kodovani (X.509) v base64/asci podobe\\ |
key.der ... certivikat v binarni podobe zakodovany pomoci DER\\ | key.der ... certivikat v binarni podobe zakodovany pomoci DER\\ |
[[https://www.sslshopper.com/article-most-common-openssl-commands.html|Uzitecne priklady openssl prikazu]]\\ | [[https://www.sslshopper.com/article-most-common-openssl-commands.html|Uzitecne priklady openssl prikazu]]\\ |
| |
openssl s_client -showcerts -connect www.domain.com:443 -servername domena.com ... stahne a ukaze SSL/TSL certifikat z https serveru a navaze ssl komunikaci, pomoci SNI pozada o certifikat k domena.com\\ | ''openssl s_client -showcerts -connect www.domain.com:443 -servername domena.com'' ... stahne a ukaze SSL/TSL certifikat z https serveru a navaze ssl komunikaci, pomoci SNI pozada o certifikat k domena.com\\ |
openssl s_client -showcerts -cert cert.cer -key cert.key -connect www.domain.com:443 ... jako predtim, ale pouzije zadany klinentsky klic\\ | ''openssl s_client -showcerts -cert cert.cer -key cert.key -connect www.domain.com:443'' ... jako predtim, ale pouzije zadany klinentsky klic\\ |
echo n | openssl s_client -showcerts -connect www.domain.com:443 | openssl x509 -text ... ukaze vsechny zaznamy o certifikatu, vcetne expirace\\ | ''echo n | openssl s_client -showcerts -connect www.domain.com:443 | openssl x509 -text'' ... ukaze vsechny zaznamy o certifikatu, vcetne expirace\\ |
| |
openssl genrsa -des3 -out server.key 1024 ... generovani privatniho RSA klice, delka 1024 bytu, kodovani DES\\ | ''openssl genrsa -out server.key 2048'' ... vytvoření privátního klíče\\ |
openssl req -new -key server.key -out server.csr ... generovani CSR (zadosti o overeni) z privatniho klice\\ | ''openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes'' ... interaktivní generování self-signed verejneho klice pro https komunikaci, nodes - nekoduje privátní klíč\\ |
cp server.key server.key.org; openssl rsa -in server.key.org -out server.key ... odstraneni passphrase z klice\\ | ''openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt'' ... generovani self-signed verejneho klice pro https komunikaci z Certificate requestu\\ |
openssl rsa -in server.key -text > private.pem ... konverze privatniho klice z KEY do PEM\\ | ''openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"'' ... vstupy z příkazové řádky\\ |
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt ... generovani self-signed verejneho klice pro https komunikaci\\ | ''openssl req -new -key domena.key -out domena.csr -sha256 -subj "/C=CZ/L=Brno/O=Firma a.s./OU=tym/emailAddress=email@email.cz/CN=domena.cz" -addext "subjectAltName = DNS:domena1.cz,DNS:domena2"'' ... CSR s Alternate names\\ |
openssl x509 -in acs.qacafe.com.pem -text -noout ... informace o klici acs.qacafe.com.pem v textove podobe\\ | ''openssl req -key dummy.key -new -out a.csr'' ... generování CSR z klíče\\ |
openssl x509 -in root_ca.cer -inform DER -out root_ca.pem ... konverze z DER formatu do PEM\\ | ''openssl req -text -noout -verify -in CSR.csr'' ... informace o CSR\\ |
openssl x509 -inform DER -in certificate.cer -out certificate.pem ... konverze z DER do PEM\\ | ''openssl x509 -in lipensky.cz.pem -text -noout'' ... informace o klici acs.qacafe.com.pem v textove podobe\\ |
| ''openssl x509 -in root_ca.cer -inform DER -out root_ca.pem'' ... konverze z DER formatu do PEM\\ |
\\ | \\ |
cat clientcert.pem trusted_ca.pem root_ca.pem >> clientcertchain.pem ... vytvori certifikacni retezec (certification chain)\\ | ''cat clientcert.pem trusted_ca.pem root_ca.pem >> clientcertchain.pem'' ... vytvori certifikacni retezec (certification chain)\\ |
| |
openssl pkcs12 -info -in a.pfx ... informace o certifikatu\\ | ''openssl pkcs12 -info -in a.pfx'' ... informace o certifikatu\\ |
openssl pkcs12 -export -in www-example-com.crt -inkey www-example-com.key -out www-example-com.p12 ... vytvoreni P12 klicekny\\ | ''openssl pkcs12 -export -in lipensky.cz.crt -inkey lipensky.cz.key -out lipensky.cz.p12'' ... vytvoreni P12 klicekny\\ |
openssl pkcs12 -in certificate.p12 -out clientcert.pem -nodes -clcerts ... export certifikaty z p12 klicenky\\ | ''openssl pkcs12 -in certificate.p12 -out clientcert.pem -nodes -clcerts'' ... export certifikaty z p12 klicenky\\ |
openssl pkcs12 -export -in clientcertchain.pem -out clientcertchain.pfx ... vytvoreni/pridani certifikatu do p12/pfx klicenky\\ | ''openssl pkcs12 -export -in clientcertchain.pem -out clientcertchain.pfx'' ... vytvoreni/pridani certifikatu do p12/pfx klicenky\\ |
openssl pkcs7 -print_certs -in certificate.cer -out certificate.crt ... konverze certifikatu do jineho kodovani\\ | ''openssl pkcs7 -print_certs -in certificate.cer -out certificate.crt'' ... konverze certifikatu do jineho kodovani\\ |
| ''openssl pkcs7 -print_certs -in old.p7b -out new.crt'' ... konverze certifikátu p7b na crt\\ |
| |
| ===RSA=== |
| ''openssl genrsa -des3 -out server.key 1024'' ... generovani privatniho RSA klice, delka 1024 bytu, kodovani DES\\ |
| ''openssl req -new -key server.key -out server.csr'' ... generovani CSR (zadosti o overeni) z privatniho klice\\ |
| ''openssl rsa -in privateKey.key -check'' ... kontrola RSA klíče, jestli je validní\\ |
| ''cp server.key server.key.org; openssl rsa -in server.key.org -out server.key'' ... odstraneni passphrase z klice\\ |
| ''openssl rsa -in server.key -text > private.pem'' ... konverze privatniho klice z KEY do PEM\\ |
| |
====Analyza https toku==== | ====Analyza https toku==== |
====ssh==== | ====ssh==== |
ssh-keygen -f id_rsa -p ... zmena passphrase\\ | ssh-keygen -f id_rsa -p ... zmena passphrase\\ |
| |
| ====gpg==== |
| gpg -k ... seznam klíčů\\ |
| gpg --output public.pgp --armor --export username@email ... exportovaní veřejného klíče\\ |
| gpg --output private.pgp --armor --export-secret-key username@email ... exportování soukromého klíče\\ |
| gpg --import my-key.asc ... import klíče\\ |
| cat soubor | gpg --decrypt ... rozkódování\\ |
| |