[IMPROVED] gpg_init.sh - (Re)inicialización de configuración GPG
This commit is contained in:
parent
76e7c7a5de
commit
88d122ea6e
6 changed files with 217 additions and 1 deletions
14
README.md
14
README.md
|
@ -45,4 +45,16 @@ Nota: En determinadas versiones, las actualizaciones a partir de los repositorio
|
||||||
|
|
||||||
(pendiente)
|
(pendiente)
|
||||||
|
|
||||||
### GESTIONANDO FIRMA GPG
|
### GESTIONANDO FIRMA GPG
|
||||||
|
|
||||||
|
#### Inicialización de configuración GPG
|
||||||
|
|
||||||
|
Como un requisito de nuestra plataforma, todos los desarrolladores deberán contar, por lo menos, con una clave GPG, que se utilizará para firmar o decifrar archivos, correos u otros. Esto se hará con el uso del comando gpgp que ya debió ser instalado con la ejecución de bin/boostrap.sh.
|
||||||
|
|
||||||
|
En este paso estableceremos la configuración por defecto de GPG:
|
||||||
|
|
||||||
|
$ cd $HOME/devs
|
||||||
|
$ bin/gpg_init.sh
|
||||||
|
|
||||||
|
#### Creación de clave GPG
|
||||||
|
|
||||||
|
|
6
bin/config/gpg.config
Normal file
6
bin/config/gpg.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
keyserver hkps://keyserver.ubuntu.com
|
||||||
|
utf8-strings
|
||||||
|
keyid-format long
|
||||||
|
with-fingerprint
|
||||||
|
with-sig-list
|
||||||
|
list-options show-notations
|
99
bin/gpg_init.sh
Executable file
99
bin/gpg_init.sh
Executable file
|
@ -0,0 +1,99 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# gpg_init.sh
|
||||||
|
# Modified: 2024/12/09 10:27:00
|
||||||
|
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
|
||||||
|
#
|
||||||
|
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
||||||
|
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
||||||
|
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
|
||||||
|
# o (a su elección) cualquier versión posterior.
|
||||||
|
#
|
||||||
|
# Este programa se distribuye con la esperanza de que sea útil,
|
||||||
|
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
|
||||||
|
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
|
||||||
|
# Licencia Pública Affero General de GNU para obtener más detalles.
|
||||||
|
#
|
||||||
|
# Debería haber recibido una copia de la Licencia Pública Affero General
|
||||||
|
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
DEVSPATH=devs
|
||||||
|
BIN_HOME=$HOME/$DEVSPATH
|
||||||
|
BIN_MESG=bin/msg
|
||||||
|
BIN_LIBS=bin/lib
|
||||||
|
|
||||||
|
# CHECK SHELL LANGUAGE
|
||||||
|
BIN_LANG=${LANG:0:2}
|
||||||
|
|
||||||
|
# LOAD BASE BASH LIBRARY
|
||||||
|
source $BIN_HOME/$BIN_LIBS/base.lib
|
||||||
|
#baselib_test
|
||||||
|
|
||||||
|
# LOAD CONSOLE BASH LIBRARY
|
||||||
|
source $BIN_HOME/$BIN_LIBS/console.lib
|
||||||
|
#consolelib_test
|
||||||
|
|
||||||
|
# LOAD GPG BASH LIBRARY
|
||||||
|
source $BIN_HOME/$BIN_LIBS/gpg.lib
|
||||||
|
#gpglib_test
|
||||||
|
|
||||||
|
# Load head messages
|
||||||
|
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head"
|
||||||
|
|
||||||
|
# Load gpg messages
|
||||||
|
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "gpg"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
########### MAIN PROGRAM ###########
|
||||||
|
|
||||||
|
# Set program title
|
||||||
|
title="$head_000 $head_002"
|
||||||
|
apps_title="${gpmsg_000}"
|
||||||
|
|
||||||
|
# Check if dialog is not installed, exited!
|
||||||
|
command_installed "dialog"
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
display_devstools_header "${gpmsg_000}"
|
||||||
|
echo "${head_001}"
|
||||||
|
exit 200
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if os is valid!
|
||||||
|
get_osname
|
||||||
|
if [ "${os_name}" == "${head_unknow}" ]
|
||||||
|
then
|
||||||
|
dialog_error_box "${head_error}" "${head_os_error}"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reset gpg configuration to template
|
||||||
|
dialog_yesno "${gpmsg_101}"
|
||||||
|
case ${result} in
|
||||||
|
0)
|
||||||
|
gpg_setting "$BIN_HOME" "$GPG_DEFAULT_PATH" "$GPG_DEFAULT_PATH" "$DATEBAK"
|
||||||
|
rc=$?
|
||||||
|
case $rc in
|
||||||
|
0)
|
||||||
|
dialog_error_box "${head_info}" "${gpmsg_102}"
|
||||||
|
clear
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
dialog_error_box "${head_error}" "${gpmsg_103}"
|
||||||
|
clear
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
dialog_error_box "${head_error}" "${head_op_error} (${rc})"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
dialog_error_box "${head_error}" "${head_op_error}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# End Main Program
|
||||||
|
clear
|
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
DEVS_NAME=config/project.head
|
DEVS_NAME=config/project.head
|
||||||
GIT_IGNORE=.gitignore
|
GIT_IGNORE=.gitignore
|
||||||
|
DATENOW="$(date +"%Y-%m-%d %H:%M:%S")"
|
||||||
|
DATEBAK="$(date +"%Y%m%d%H%M%S")"
|
||||||
|
|
||||||
DOCKER_LOCAL=dockerfile.local
|
DOCKER_LOCAL=dockerfile.local
|
||||||
DOCKER_BASE=dockerfile.base
|
DOCKER_BASE=dockerfile.base
|
||||||
|
|
77
bin/lib/gpg.lib
Normal file
77
bin/lib/gpg.lib
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Library: gpg.lib
|
||||||
|
# Modified: 2024/12/09 08:20:00
|
||||||
|
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
|
||||||
|
#
|
||||||
|
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
||||||
|
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
||||||
|
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
|
||||||
|
# o (a su elección) cualquier versión posterior.
|
||||||
|
#
|
||||||
|
# Este programa se distribuye con la esperanza de que sea útil,
|
||||||
|
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
|
||||||
|
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
|
||||||
|
# Licencia Pública Affero General de GNU para obtener más detalles.
|
||||||
|
#
|
||||||
|
# Debería haber recibido una copia de la Licencia Pública Affero General
|
||||||
|
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
GPG_DEFAULT_PATH=~/.gnupg
|
||||||
|
GPG_CFG_PATH=bin/config
|
||||||
|
GPG_TEMPLATE=gpg.config
|
||||||
|
GPG_CONFIG=gpg.conf
|
||||||
|
GPG_SUBKEY_ID=""
|
||||||
|
DB_GPG_SUBKEYS_KEY="subkey_id"
|
||||||
|
DB_GPG_SUBKEYS="GPG_SUBKEYS"
|
||||||
|
DF_GPG_SUBKEYS="${DB_GPG_SUBKEYS}.sql"
|
||||||
|
REVOKE_FILES="*.rev"
|
||||||
|
|
||||||
|
# Test library
|
||||||
|
function gpglib_test() {
|
||||||
|
echo "GPG Library loaded!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set gpg environment
|
||||||
|
function gpg_setting() {
|
||||||
|
|
||||||
|
local BIN_CONFIG=$1
|
||||||
|
local GPG_PATH=$2
|
||||||
|
local LOCAL_BACKUP=$3
|
||||||
|
local TIMESTAMP=$4
|
||||||
|
|
||||||
|
# Check if gpg directory path exists
|
||||||
|
if [ ! -d "${GPG_PATH}" ]
|
||||||
|
then
|
||||||
|
# Create gpg directory path
|
||||||
|
mkdir -p ${GPG_PATH}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if gpg template file exists
|
||||||
|
if [ ! -f "${BIN_CONFIG}/${GPG_CFG_PATH}/${GPG_TEMPLATE}" ]
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "${LOCAL_BACKUP}" ]
|
||||||
|
then
|
||||||
|
if [ -f "${GPG_PATH}/${GPG_CONFIG}" ]
|
||||||
|
then
|
||||||
|
# Destination file backup
|
||||||
|
local BACKUP_FILE="${LOCAL_BACKUP}/gpg${TIMESTAMP}.bak"
|
||||||
|
cp -f "${GPG_PATH}/${GPG_CONFIG}" "${BACKUP_FILE}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copia el archivo de plantilla al destino
|
||||||
|
cp -f "${BIN_CONFIG}/${GPG_CFG_PATH}/${GPG_TEMPLATE}" "${GPG_PATH}/${GPG_CONFIG}"
|
||||||
|
return $?
|
||||||
|
|
||||||
|
}
|
20
bin/msg/gpg.es
Normal file
20
bin/msg/gpg.es
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#bash script : gpg.es
|
||||||
|
#apps : GPG Developer Utilities
|
||||||
|
#description : GPG Translate Messages (es)
|
||||||
|
#author : MRP/mrp - Mauro Rosero P.
|
||||||
|
#company email : mauro@rosero.one
|
||||||
|
#personal email : mauro.rosero@gmail.com
|
||||||
|
#date : 20241130
|
||||||
|
#version : 1.0.2
|
||||||
|
#notes :
|
||||||
|
#==============================================================================
|
||||||
|
#==============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
gpmsg_000="INICIALIZAR GPG"
|
||||||
|
|
||||||
|
|
||||||
|
gpmsg_101="Desea inicializar la configuración de GPG?"
|
||||||
|
gpmsg_102="Inicialización de configuración GPG completada!"
|
||||||
|
gpmsg_103="Plantilla de configuración GPG no existe!"
|
Loading…
Reference in a new issue