server/misc/CA.sh

50 lines
1.6 KiB
Bash
Raw Normal View History

2013-10-26 00:49:38 +00:00
# Create CA for client
#openssl genrsa -des3 -out ca.key 4096
#openssl req -new -x509 -days 365 -key ca.key -out ca.crt
#
## Server cert
#openssl genrsa -des3 -out server.key 2028
#openssl req -new -key server.key -out server.csr
#
## Self sign ??
#openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
# TODO serial
# TODO common name
OPENSSL_CONF=openssl.cnf
[ $# -ne 1 ] && echo "Usage: $0 init
client NAME"
case $1 in
"init" )
echo "Create CA for signing client certs"
openssl genrsa -des3 -out ca.key 4096
sed -i 's/=.*#CommonName/= FIC2014 CA#CommonNameEnd/' $OPENSSL_CONF
openssl req -batch -new -x509 -days 365 -key ca.key -out ca.crt
echo "Create server cert"
openssl genrsa -des3 -out server.key 2048
sed -i 's/=.*#CommonNameEnd/= FIC2014 Server#CommonNameEnd/' $OPENSSL_CONF
openssl req -batch -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
rm server.csr
;;
"client" )
[ $# -ne 2 ] && "client Usage"
openssl genrsa -des3 -out client.key 2048
sed -i "s/=.*#CommonNameEnd/= $2#CommonNameEnd/" $OPENSSL_CONF
openssl req -batch -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
openssl pkcs12 -export -inkey client.key -in client.crt -name $2 -out ${2}.p12
rm client.key
rm client.csr
rm client.crt
;;
"*" )
echo "*"
;;
esac