Private CA Certificate Authority
#PES Howto work ssl
#201502 reload new laptop
copy laptop* cert + key + ca from vigor
setup openvpn, get error
sollution: ca is cacert.pem and not ca.crt
#20150110 add home linux
:/etc/ssl# openssl req -days 3650 -nodes -new -newkey rsa:2048 \
-keyout demoCA/homeLinux201501.key.pem -out demoCA/homeLinux201501.csr.pem
:/etc/ssl# openssl ca -days 3650 -out demoCA/homeLinux201501.crt.pem -in demoCA/homeLinux201501.csr.pem
#20140906 add new laptop ssl cert
:/etc/ssl# openssl req -days 3650 -nodes -new -newkey rsa:2048 \
-keyout demoCA/laptop201409.key.pem -out demoCA/laptop201409.csr.pem
openssl ca -days 3650 -out demoCA/laptop201409.crt.pem -in demoCA/laptop201409.csr.pem
#20140904
create dir /etc/ssl/demoCA
create CA inside see 1. below
openssl req -days 3650 -nodes -new -newkey rsa:2048 -x509 -keyout cakey.pem -out cacert.pem
:/etc/ssl# mkdir demoCA/private
:/etc/ssl# mv demoCA/cakey.pem demoCA/private/
:/etc/ssl# mkdir demoCA/newcerts
echo "01" > index.txt
:/etc/ssl/demoCA# ln -s ../index.txt
:/etc/ssl/demoCA# ln -s ../serial
:/etc/ssl# openssl req -days 3650 -nodes -new -newkey rsa:2048 \
-keyout note3.key.pem -out note3.csr.pem
:/etc/ssl# openssl ca -days 3650 -out demoCA/note3.crt.pem -in demoCA/note3.csr.pem
openssl -in keycerts.pem -export -name "My PKCS#12 file" -out fixed.p12
openssl -in note3.crt.pem -export -name "Notes3" -out note3.p12
openssl pkcs12 -export -out note3.p12 -inkey note3.key.pem -in note3.crt.pem -certfile cacert.pem
## Create server p12 ##
:/etc/ssl# openssl req -days 3650 -nodes -new -newkey rsa:2048 \
-keyout demoCA/server2014.key.pem -out demoCA/server2014.csr.pem
openssl ca -days 3650 -out demoCA/server2014.crt.pem -in demoCA/server2014.csr.pem
openssl pkcs12 -export -out demoCA/server2014.p12 -inkey demoCA/server2014.key.pem -in demoCA/server2014.crt.pem
http://www.blackmanticore.com/64b9167ac2668861dd638a55273d8a5a
http://mia.ece.uic.edu/~papers/volans/settingupCA.html
http://sapiens.wustl.edu/~sysmain/info/openssl/openssl_ca.html
gvim /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt.gz
1. Create CA
mkdir /root/cert ; cd /root/cert
openssl req -days 3650 -nodes -new -newkey rsa:2048 -x509 -keyout ca.key -out ca.crt
2. Setup /etc/ssl
echo "01" > /etc/ssl/serial
touch /etc/ssl/index.txt
mkdir /etc/ssl/newcerts
ln -s /root/cert/ca.crt /etc/ssl/cacert.pem
ln -s /root/cert/ca.key /etc/ssl/private/cakey.pem
3. As normal user create certificate request
mkdir ~/cert ; cd ~/cert
openssl req -days 3650 -nodes -new -newkey rsa:2048 \
-keyout timone.key.pem -out timone.csr.pem
>> send to ca
4. As CA sign request e.g. timone.csr
openssl ca -days 3650 -out timone.crt.pem -in timone.csr.pem
>> send back
example2
openssl x509 -req -days 9999 \
-CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial \
-CAserial ca-srl.txt -in server-csr.pem -out server-cert.pem
Optional AS CA build and sign
openssl req -days 3650 -nodes -new -keyout $1.key -out $1.csr
openssl ca -days 3650 -out $1.crt -in $1.csr ...
