====== 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 " 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 -key -cert * Egy kis debug infóval: openssl s_server -accept -key -cert -state * Cert ellenőrzéssel: openssl s_server -accept -key -cert -state -CApath -verify ==== Kliens ==== * Mezítlábas kliens: openssl s_client -connect : -key -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