Verificar la descarga del agente¶
Qué está firmado y cómo comprobarlo¶
| Artefacto | Firma | Comprobación |
|---|---|---|
macOS .pkg |
Apple Developer ID, notarizado | pkgutil --check-signature |
Windows .msi / .exe |
Authenticode, editor Hodeitek S.L., con marca de tiempo (desde 2.12.1) |
Get-AuthenticodeSignature |
| Tarball y binario de Linux | Sin firma nativa del sistema operativo. Cubiertos por la firma de versiones de Hodei-Shield (Ed25519) | pasos siguientes |
| Todos los ficheros, todos los sistemas | SHA256SUMS lista cada fichero publicado y SHA256SUMS.sig es su firma Ed25519 |
pasos siguientes |
Un checksum por sí solo no prueba quién creó un fichero, porque el fichero y su
checksum vienen del mismo sitio. Lo que vincula tu descarga con Hodeitek es la
firma de SHA256SUMS. Compruébala en todos los sistemas, antes de instalar.
La clave pública de versiones¶
Guarda estas tres líneas como hodei-shield-release.pub.pem:
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAEUqKd+ot7BESwk+vf6EVBKudMi6F6jmY3dJeHXfCWkQ=
-----END PUBLIC KEY-----
Es una clave pública Ed25519. Sus 32 bytes en bruto son, en base64,
EUqKd+ot7BESwk+vf6EVBKudMi6F6jmY3dJeHXfCWkQ=, y el SHA-256 de esos 32 bytes es
8b730d2fcbd90e2656bd9b3f265638f1e8e8ac2379d48b0636feb5efe5a88f07.
Obtén la huella una segunda vez por un canal distinto de aquel por el que
recibiste esta guía (por ejemplo, pídela por correo al soporte de Hodeitek) y
compáralas. Si alguna vez difieren, detente y consulta al soporte de Hodeitek.
Puedes calcular la huella del fichero de clave que guardaste:
openssl pkey -pubin -in hodei-shield-release.pub.pem -outform DER | tail -c 32 | sha256sum
# 8b730d2fcbd90e2656bd9b3f265638f1e8e8ac2379d48b0636feb5efe5a88f07 -
Ese comando imprime el valor de arriba para la clave tal como aparece en esta página.
Cómo se guarda la clave de versiones. La mitad privada de la clave de firma de versiones no está en un módulo de seguridad hardware (HSM). Se guarda como secreto del entorno de CI de publicación, que firma cada versión, con una copia de seguridad cifrada; una copia anterior en un equipo de trabajo se borró y no se puede confirmar su destrucción. La firma demuestra que los ficheros proceden de quien controla esta clave; no indica lo bien protegida que está. Si necesitas una garantía de nivel HSM, consúltalo con el soporte de Hodeitek antes de instalar.
La comprobación (OpenSSL 3 o posterior)¶
Ejemplo con los ficheros de la versión 2.14.1 en Linux (OpenSSL 3), verificado el 2026-10-15: el paso 1 imprimió 64, el
paso 2 imprimió Signature Verified Successfully (salida 0) y el paso 3 imprimió
hodei-shield-2.14.1-linux-x86_64-musl.tar.gz: OK (salida 0).
En la carpeta que contiene SHA256SUMS, SHA256SUMS.sig, tu descarga y el
fichero de clave:
# 1. El fichero de firma es UNA LÍNEA de base64. Decodifícalo; debe ser de 64 bytes.
openssl base64 -d -A -in SHA256SUMS.sig -out SHA256SUMS.sig.raw
wc -c < SHA256SUMS.sig.raw # debe imprimir 64
# 2. Verifica SHA256SUMS con la clave de versiones.
openssl pkeyutl -verify -rawin -pubin -inkey hodei-shield-release.pub.pem \
-sigfile SHA256SUMS.sig.raw -in SHA256SUMS
# bien: Signature Verified Successfully (salida 0)
# mal: Signature Verification Failure (salida 1) -> NO instales
# 3. Solo ahora comprueba tu fichero con la lista verificada.
sha256sum --ignore-missing -c SHA256SUMS # tu fichero debe decir: OK
--ignore-missing está ahí porque SHA256SUMS nombra todos los ficheros
publicados y tú tienes uno o dos. Si tu fichero no figura, o dice FAILED,
bórralo. Cualquier resultado distinto de la línea exacta «Signature Verified
Successfully» significa no instalar; descarga de nuevo y, si se repite,
avisa a Hodeitek.
Qué aspecto tiene un fallo. Con un byte cambiado en una copia de SHA256SUMS, el paso 2 imprime
Signature Verification Failure (precedido de una línea
error:...provider signature failure) y sale con 1. Con un SHA256SUMS válido
y un byte cambiado en la descarga, el paso 3 imprime <fichero>: FAILED, luego
sha256sum: WARNING: 1 computed checksum did NOT match, y sale con 1. Ambos
casos significan: borra los ficheros y no instales.
En macOS, /usr/bin/openssl es LibreSSL y falla con un error de
«unrecognized flag»; usa OpenSSL 3 con su ruta completa.