====== 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