firmas #7

Open
fauno wants to merge 9 commits from firmas into master
Owner

closes #3

@sergio.pernas para generar las llaves corres generate_private_key una sola vez, si la corrés varias veces y la llave existe va a salir con 1, con lo que podrías hacer un if [ ! generate_private_key ].

para firmar un archivo corrés sign_file archivo y te va a imprimir archivo.sign. el contenido de ese archivo lo podés poner en el header X-signature para que el backend pueda validar la firma.

la llave pública todavía no se usa para nada pero la idea es enviarla al backend durante el registro de la raspberry

closes #3 @sergio.pernas para generar las llaves corres `generate_private_key` una sola vez, si la corrés varias veces y la llave existe va a salir con 1, con lo que podrías hacer un `if [ ! generate_private_key ]`. para firmar un archivo corrés `sign_file archivo` y te va a imprimir `archivo.sign`. el contenido de ese archivo lo podés poner en el header `X-signature` para que el backend pueda validar la firma. la llave pública todavía no se usa para nada pero la idea es enviarla al backend durante el registro de la raspberry
fauno added 4 commits 2022-03-03 19:37:56 +00:00
Author
Owner

una firma es una string así: MEUCIQCLdROLV1BvNCGAvuHBv7wCc+35txxXNtLHXRsZGqTNiwIgbkjWLH4bA/b7bna2/Itvsjv6/M0m6m8iIb9p7W72DI0=

me olvidé de agregar que podrías asignar la firma así:

file=archivo
firma_file="$(sign_file $file)"

avisame si preferís que directamente te devuelva la firma, me pareció que era mejor tener el archivo de la firma junto al archivo firmado para que se pueda corroborar después.

o sea que como esta ahora deberías hacer algo asi para ponerlo después en curl (ni idea como se agregan headers en curl)

firma="$(<$firma_file)"
una firma es una string así: `MEUCIQCLdROLV1BvNCGAvuHBv7wCc+35txxXNtLHXRsZGqTNiwIgbkjWLH4bA/b7bna2/Itvsjv6/M0m6m8iIb9p7W72DI0=` me olvidé de agregar que podrías asignar la firma así: ```bash file=archivo firma_file="$(sign_file $file)" ``` avisame si preferís que directamente te devuelva la firma, me pareció que era mejor tener el archivo de la firma junto al archivo firmado para que se pueda corroborar después. o sea que como esta ahora deberías hacer algo asi para ponerlo después en curl (ni idea como se agregan headers en curl) ```bash firma="$(<$firma_file)" ```
fauno added 4 commits 2022-03-12 21:54:07 +00:00
Author
Owner

se me complicó verificar la firma con openssl dentro de ruby (a menos que lo jecute como un script externo y eso siempre tiene líos).

a la par encontré que con ssh ya se pueden firmar mensajes y en ruby es simple verificarlos.

modifiqué las funciones para que generen firmas con ssh, las guarden en $file.sig (no .sign con n al final) y devuelva directamente la firma para enviarla como header

se me complicó verificar la firma con openssl dentro de ruby (a menos que lo jecute como un script externo y eso siempre tiene líos). a la par encontré que con ssh ya se pueden firmar mensajes y en ruby es simple verificarlos. modifiqué las funciones para que generen firmas con ssh, las guarden en `$file.sig` (no .sign con n al final) y devuelva directamente la firma para enviarla como header
fauno added 1 commit 2022-03-14 19:24:03 +00:00
This pull request cannot be merged automatically due to conflicts.
Merge manually to resolve the conflicts.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin firmas:firmas
git checkout firmas

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout master
git merge --no-ff firmas
git checkout firmas
git rebase master
git checkout master
git merge --ff-only firmas
git checkout firmas
git rebase master
git checkout master
git merge --no-ff firmas
git checkout master
git merge --squash firmas
git checkout master
git merge --ff-only firmas
git checkout master
git merge firmas
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Nodemecu/nodemecu#7
No description provided.