programas parecido mejor mac iguales distros distribucion con chaletos apariencia linux windows certificate exe sign

parecido - mejor distribucion linux



Firma de la aplicaciĆ³n de Windows en distribuciones basadas en Linux (2)

He preparado una aplicación y un sitio web donde el cliente puede configurar varias opciones para esta aplicación antes de que la descargue. Las configuraciones se almacenan en formato binario al final del archivo (adjunto), luego el archivo editado se envía al usuario final. El problema es que el cambio de "contenido" del archivo romperá la firma del archivo. ¿Hay alguna posibilidad de volver a firmar este archivo modificado con cualquier herramienta de línea de comandos? He intentado usar SignTool de Microsoft, pero no funciona correctamente en Linux.


Puedes probar osslsigncode

Para firmar un archivo EXE o MSI ahora puede hacer:

osslsigncode sign -certs <cert-file> -key <der-key-file> / -n "Your Application" -i http://www.yourwebsite.com/ / -in yourapp.exe -out yourapp-signed.exe

o si está utilizando un archivo de clave PEM o PVK con una contraseña junto con un certificado PEM:

osslsigncode sign -certs <cert-file> / -key <key-file> -pass <key-password> / -n "Your Application" -i http://www.yourwebsite.com/ / -in yourapp.exe -out yourapp-signed.exe

o si también desea agregar una marca de tiempo:

osslsigncode sign -certs <cert-file> -key <key-file> / -n "Your Application" -i http://www.yourwebsite.com/ / -t http://timestamp.verisign.com/scripts/timstamp.dll / -in yourapp.exe -out yourapp-signed.exe

Puede usar un certificado y una clave almacenados en un contenedor PKCS # 12:

osslsigncode sign -pkcs12 <pkcs12-file> -pass <pkcs12-password> / -n "Your Application" -i http://www.yourwebsite.com/ / -in yourapp.exe -out yourapp-signed.exe

Para firmar un archivo CAB que contiene archivos de clase java:

osslsigncode sign -certs <cert-file> -key <key-file> / -n "Your Application" -i http://www.yourwebsite.com/ / -jp low / -in yourapp.cab -out yourapp-signed.cab


En realidad es bastante sencillo hacer uso de la herramienta de señalización de Mono ; La parte difícil (que se describe con más detalle en el artículo de Mozilla vinculado) es copiar el certificado en el formato correcto de Windows a Linux.

La conversión del archivo de certificado PFX de Windows a archivos PVK y SPC, solo debe hacerse una vez al copiar el certificado de Windows a Linux;

openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem openssl rsa -in key.pem -outform PVK -pvk-strong -out authenticode.pvk openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc

En realidad, firmar el exe es sencillo;

signcode / -spc authenticode.spc / -v authenticode.pvk / -a sha1 -$ commercial / -n My/ Application / -i http://www.example.com/ / -t http://timestamp.verisign.com/scripts/timstamp.dll / -tr 10 / MyApp.exe