2 Commits

Author SHA1 Message Date
f
7c4981bb29 llaves y firmas con ssh 2022-03-14 16:32:57 -03:00
2d7088e16c get serial number form rpi 2022-03-14 15:50:41 -03:00
4 changed files with 20 additions and 11 deletions

View File

@ -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"
}

View File

@ -52,7 +52,7 @@ done
json="{\"transaction_uuid\":\"$uuid\",\"controller_id\":\"$nombre\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
json="{\"transaction_uuid\":\"$uuid\",\"serial_number\":\"$(cat $numero_serie)\",\"controller_id\":\"$nombre\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
touch $lock
file=$(date +%Y%m%d%H%M%S -d @$marca_de_tiempo)-$uuid

View File

@ -62,14 +62,24 @@ echo "3. Configurando systemd
cp nodemecu.service /lib/systemd/system/
systemctl daemon-reload
echo "
4. Obteniendo numero de serie
"
sn=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2)
echo $sn > $numero_serie
echo "Número de serie: $sn"
echo "
4. Configurar
5. Configurar
"
echo "- Ejecute 'sudo nodemecu configurar' para comenzar.
"
echo "-Ejecute 'sudo nodemecu modo sensores' para obtener datos desde sensores.
echo "- Ejecute 'sudo nodemecu modo sensores' para obtener datos desde sensores.
"
echo "- Ejecute 'sudo nodemecu captura iniciar' para comenzar a tomar datos de sensores o datos de prueba.
"

View File

@ -22,3 +22,4 @@ funciones=$directorio_instalacion/funciones
arduinos_py=$directorio_instalacion/arduinos.py
private_key_dir=$directorio_instalacion/llaves
private_key=$private_key_dir/$nombre.pem
numero_serie=$directorio_instalacion/numero_serie