#! /bin/sh 

# AUTHOR: Samuel Muoz Hidalgo
# CONTACT: samuel.mh@gmail.com
# DESCRIPTION: Generates a Certification Authority certificate (root) and three more
#   signed by this one (trusted chain)
# LAST REVISION: 5-Jun-2009


CA='CA'

clear
echo "----- CA Certificate"
openssl req -x509 -new -out $CA.crt -keyout $CA.pem -days 400 -passout pass:clave
openssl rsa -in $CA.pem -out $CA.key -passin pass:clave
rm $CA.pem


clear
SUB='sp'
echo "----- Signed by the CA certificates ($SUB)"
openssl req -new -out $SUB.csr -keyout $SUB.pem -passout pass:clave
openssl rsa  -in $SUB.pem -out $SUB.key  -passin pass:clave
rm $SUB.pem
openssl x509 -in $SUB.csr -out $SUB.crt -req -CAkey $CA.key -CA $CA.crt -days 180 -CAcreateserial
rm $SUB.csr

clear
SUB='idp'
echo "----- Signed by the CA certificates ($SUB)"
openssl req -new -out $SUB.csr -keyout $SUB.pem -passout pass:clave
openssl rsa  -in $SUB.pem -out $SUB.key  -passin pass:clave
rm $SUB.pem
openssl x509 -in $SUB.csr -out $SUB.crt -req -CAkey $CA.key -CA $CA.crt -days 180 -CAcreateserial
rm $SUB.csr

SUB='sts'
echo "----- Signed by the CA certificates ($SUB)"
openssl req -new -out $SUB.csr -keyout $SUB.pem -passout pass:clave
openssl rsa  -in $SUB.pem -out $SUB.key  -passin pass:clave
rm $SUB.pem
openssl x509 -in $SUB.csr -out $SUB.crt -req -CAkey $CA.key -CA $CA.crt -days 180 -CAcreateserial
rm $SUB.csr

SUB='radius'
echo "----- Signed by the CA certificates ($SUB)"
openssl req -new -out $SUB.csr -keyout $SUB.pem -passout pass:clave
openssl rsa  -in $SUB.pem -out $SUB.key  -passin pass:clave
rm $SUB.pem
openssl x509 -in $SUB.csr -out $SUB.crt -req -CAkey $CA.key -CA $CA.crt -days 180 -CAcreateserial
rm $SUB.csr
