Scripts para Generar Certificado SSL Auto-Firmados (Script for Self-Signed Certificate SSL)

Por temas laborales me he perdido, pero aprovechando el tiempo traigo un pequeuño script util para la creación de certificados SSL Auto-Firmados.

En el script hay un apartado que realiza la validacion del sistema operativo para el guardado de raiz, intermedio y certificado.

#Creando el ejecutable

cd /bin/

touch selfsignedssl

chmod +x selfsignedssl

 

#Contenido del script

#!/bin/bash
#Scripts para generar Self-Signed Certificate SSL
#Ej Ejecucion: selfsignedssl engelausmetall.com.ec "EngelausMetall S.A."


#Variables Ingreso de Pantalla
dom=$1
OU=$2


#Funcion validacion OS
val_os () {
#Variables de OS
rd="Red Hat Linux"
od="Oracle Linux"
cdos="CentOS"
db="Debian-Ubuntu"


#Validacion
if [ -f /etc/centos-release ]; then
    ver=`cat /etc/centos-release |awk '{print $4}'`
    hst=`hostname -s`
    echo "[*] Hostname: $hst"
    echo "[*] Sistema Operativo $cdos $ver"
    valos=0
#Valida Oracle Linux
elif [ -f /etc/oracle-release ]; then
    ver=`cat /etc/oracle-release |awk '{print $5}'`
    hst=`hostname -s`
    echo "[*] Hostname: $hst"
    echo "[*] Sistema Operativo $od $ver"
    valos=0
#Valida Red Hat Linux
elif [ -f /etc/redhat-release ]; then
    ver=`cat /etc/redhat-release |awk '{print $7}'`
    hst=`hostname -s`
    echo "[*] Hostname: $hst"
    echo "[*] Sistema Operativo $rd $ver"
    valos=0
#Valida Debian/Ubuntu
elif [ -f /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    hst=`hostname -s`
    echo "[*] Hostname: $hst"
    echo "[*] Sistema Operativo $db $ver"
    valos=1
fi
}


#Inicio de Script
if [ -z $dom ]; then
    echo "#### Generacion de Certificado SSL Auto-Firmado####"
    echo "[*] Omitiendo generacion de certificado SSL"
    echo "[*] Ingresar un dominio valido. Ej: engelausmetall.com.ec"
    exit
elif [ -z $OU ]; then
    echo "#### Generacion de Certificado SSL Auto-Firmado####"
        echo "[*] Omitiendo generacion de certificado SSL"
    echo "[*] Ingresar una organizacion valida. Ej: Claro S.A."
        exit
else
    #Generacion de Certificate File & Certificate File Key
        echo "#### Generacion de Certificado SSL Auto-Firmado####"
    openssl req -new -newkey rsa:2048 -nodes -keyout /tmp/$dom.key -out /tmp/$dom.csr -subj "/C=EC/ST=Guayas/L=Guayaquil/O=$OU/OU=Sistemas/CN=$dom"
        if [ $? -eq 0 ]; then
                echo "[*] Certificado File OK"
        echo "[*] Certificado File Key OK"
        else
                echo "[*] Error: Certificate File"
        echo "[*] Error: Certificate File Key"
        fi
    #Generacion de Certificate File CA
    openssl x509 -req -days 730 -in /tmp/$dom.csr -signkey /tmp/$dom.key -out /tmp/$dom.crt
        if [ $? -eq 0 ]; then
                echo "[*] Certificado File CA OK"
        else
                echo "[*] Error: Certificate File CA"
        fi
    #Guardar SSL
    val_os
    if [ $valos -eq "0" ]; then
        mkdir /etc/pki/tls/private/$dom
        mv /tmp/$dom.csr /tmp/$dom.key /tmp/$dom.crt /etc/pki/tls/private/$dom/.
        echo "[*] Certificado generado en la ruta: /etc/pki/tls/private/$dom"
    else
        mkdir /etc/ssl/private/$dom
        mv /tmp/$dom.csr /tmp/$dom.key /tmp/$dom.crt /etc/ssl/private/$dom/.
        echo "[*] Certificado generado en la ruta: /etc/ssl/private/$dom"
    fi
fi

#Fin del Script

No hay comentarios:

Publicar un comentario