OpenSSL

http://www.sslshopper.com/article-most-common-openssl-commands.html

http://www-user.tu-chemnitz.de/~hot/SSL

http://www.ipsec-howto.org/x600.html

https://www.ssllabs.com/ssltest/

https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html

SSL Cert authority

https://help.ubuntu.com/community/OpenSSL

http://wiki.samat.org/CheatSheet/OpenSSL

Cert generátor

#!/bin/bash if [ $# -ne 2 ]; then echo "Usage: openssl.sh <dir> <key size>" exit 1 fi # Creating CA private key #openssl genrsa -out "$1/ca.key" # Creating CA private key and cert openssl req -newkey rsa:$2 -nodes -keyout "$1/ca.key" -new -x509 -days 3650 -out "$1/ca.pem" # Creating RSA cert request openssl req -newkey rsa:$2 -nodes -keyout "$1/rsa.key" -new -days 1825 -out "$1/rsareq.pem" # Creating RSA cert with the previusly created request openssl x509 -days 1825 -CA "$1/ca.pem" -CAkey "$1/ca.key" -req -CAcreateserial -in "$1/rsareq.pem" -out "$1/rsa.pem" # Verifying new cert with the root key openssl verify -CAfile "$1/ca.pem" "$1/rsa.pem" # Checking details openssl x509 -text -noout -in "$1/ca.key" openssl x509 -text -noout -in "$1/rsa.key"

Egy soros self-signed cert generátor

CA certhez:

openssl req -nodes -new -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'

vagy

openssl req -nodes -new -extensions 'v3_ca' -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'

nem CA certhez:

openssl req -nodes -new -extensions 'usr_cert' -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'
Az elérhető kiegészítők (extension-ök) listáját a /etc/ssl/openssl.cnf fájl tartalmazza.

Cert chain

Fontos a sorrend! Server, CA1, CA2, ..., RootCA

CA lista bővítése

CA cert másolása a /usr/local/share/ca-certificates/ mappába .crt kiterjesztéssel!

Linkelés és fingerprint generálás:

sudo update-ca-certificates

Fingerprint kézi generálása

Az /etc/ssl/ könyvtárban lévő fingerprintek újragenerálása:

c_rehash

Vagy tetszőleges mappában lévő certek fingerprintjeinek újragenerálása:

c_rehash '/etc/ssl/xxx'

Kliens-szerver teszt

Szerver

Mezítlábas szerver:

openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert>

Egy kis debug infóval:

openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert> -state

Cert ellenőrzéssel:

openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert> -state -CApath <CA certeket tartalmazó mappa> -verify <max ellenőrzési rekurzió>

Kliens

Mezítlábas kliens:

openssl s_client -connect <cél IP>:<cél port> -key <ssl kulcs> -cert <ssl cert>

Böngészős plugines titkosítás

http://www.cipherbox.org/wiki/index.php/Developer_documentation

EVP Bytes

http://stackoverflow.com/questions/8008253/c-sharp-version-of-openssl-evp-bytestokey-method

http://en.wikipedia.org/wiki/PBKDF2

TSA cert

Beállítás:

... [ tsa_cert ] extendedKeyUsage = critical,timeStamping ...

Tanúsítvány kérelem generálása:

openssl req \ -nodes \ -newkey rsa:2048 \ -keyout timestamp.key \ -new \ -reqexts tsa_cert \ -set_serial 0 \ -out timestamp.csr