50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
|
# 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
|