Jugué con openssl para hacer una clave pub / prv y crear una firma de un archivo y validarlo. Jugué con Cryptophane (frontend de gnupg de windows) y escuché sobre los servidores de teclas + jugué con el texto de firma.
Sin embargo, nunca firmé un archivo. Si quiero publicar un archivo (7z, rar o zip, no importa) y me gustaría que mis usuarios o software puedan verificar si ESE archivo ha sido firmado, ¿cómo lo haría? La clave pública obviamente debería estar disponible públicamente. Pero agregar la firma al archivo es lo que me molesta. ¿Algún software + archivo me permite firmar y verificar un archivo comprimido?
Respuestas:
Un método común es crear una firma separada en un
.sig
archivo (generalmente una firma PGP usandogpg -b
- X.509 es muy poco común) y proporcionar ambos archivos en la misma ubicación. Por ejemplo:Esto se puede usar con cualquier tipo de archivo, pero el usuario tendrá que verificar la firma manualmente usando
gpg --verify
.Desafortunadamente, de los que están actualmente en uso, ningún formato de archivo (que yo sepa) tiene soporte para firmas integradas usando PGP o X.509. (Esto excluye CAB, que Windows usa internamente pero prácticamente en ningún otro lugar, y es bastante complicado de firmar). WinRAR 4 pudo agregar un registro de "verificación de autenticidad" utilizando un formato propietario, pero utiliza su licencia WinRAR como clave de firma, que se ha descifrado repetidamente. (Actualización: esta característica se eliminó de WinRAR 5 debido a la inseguridad).
En Windows (y pronto Mac OS X), es posible crear un "archivo autoextraíble", un archivo ejecutable firmado digitalmente que extrae un archivo de sí mismo, así es como funcionan los instaladores de software en Windows, por ejemplo. Sin embargo, los SFX están limitados a un solo sistema operativo, por lo que solo son adecuados para distribuir programas , no documentos o imágenes. (Los programas Java se pueden firmar y son multiplataforma, pero pocos sistemas aún tienen un tiempo de ejecución Java).
fuente
Los archivos jar, construidos con la herramienta jar de Javas, son efectivamente archivos zip, y hay una herramienta, el jarsigner, para firmarlos.
Aquí hay algunos enlaces útiles:
Primero parece un poco complicado ("¿Para qué necesito keeytool? ¿Qué más?") Pero es fácil seguir los pasos para resolverlo de una manera simple. Funciona. Entonces puedes sumergirte más en el asunto.
fuente
manual verification
? Cual es la alternativa? ¿Un autopopup, que se verifica cada 10 minutos? ¿El sistema operativo verificará automáticamente el archivo al arrancar? Cuando se recibe un archivo, ya sea desde un CD, un archivo adjunto de correo electrónico, una descarga, ... ¿Debería ser un complemento en su escáner de virus?.deb
las firmas del paquete se verificandpkg
antes de instalar el paquete, sin que el usuario realice ninguna acción adicional.Claro, cada vez que instala un software firmado, está verificando un archivo firmado. Para crear uno, debe usar las mismas herramientas de empaque que usan los desarrolladores. Hay algunas compensaciones, facilidad de uso contra la compatibilidad multiplataforma. No se me ocurre una forma de hacer un archivo autoextraíble firmado multiplataforma.
Para Windows, cree un archivo autoextraíble con la herramienta iexpress, luego fírmelo con signtool.exe, como se describe aquí . Cuando sus usuarios hagan doble clic en el archivo, tendrán las ventanas familiares para confirmar el diálogo que lo identifica como el editor del archivo.
fuente
Puede firmar archivos usando jarsigner con estos dos comandos:
Necesitas instalar java jdk en tu pc.
-El primer comando crea el almacén de claves en el directorio actual (suponiendo que no exista). Genera un par de claves pública / privada utilizando el algoritmo SHA-256.
-El segundo firma el archivo usando el mismo algoritmo, el almacén de claves y el alias generado por el primero.
Para verificar un archivo firmado con un almacén de claves, puede ejecutar este comando:
fuente