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