From 7c4981bb293aa08df25b59015ad1eb76f45110e3 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 14 Mar 2022 16:32:57 -0300 Subject: [PATCH] llaves y firmas con ssh --- raspberry/funciones | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/raspberry/funciones b/raspberry/funciones index 4e13c95..f59f357 100644 --- a/raspberry/funciones +++ b/raspberry/funciones @@ -11,27 +11,25 @@ get_stack () { # Generar una llave privada ECDSA si no existe +# +# Uso: generate_private_key "comentario" generate_private_key () { test -f "$private_key" && return 1 - ssh-keygen -t ecdsa -f "$private_key" -N "" -m PEM + ssh-keygen -t ecdsa -f "$private_key" -N "" -C "$@" } # Firmar el archivo usando la llave privada. # # Uso: sign_file archivo.json -# Devuelve: archivo.json.sign +# Devuelve: La firma sign_file () { local _file="$1" test ! -f "$_file" && return 1 + test -f "$_file.sig" || ssh-keygen -Y sign -f "$private_key" -n file "$_file" 2>&1 >/dev/null - if ! openssl dgst -sha512 -sign "$private_key" "$_file" | base64 | tr -d "\n" > "$_file.sign" ; then - rm -f "$_file.sign" - return 1 - fi - - echo "$_file.sign" + cat "${_file}.sig" | grep -v SIGNATURE | tr -d "\n" }