Necesitamos firmar el software de Windows con el algoritmo sha2, pero la instalación de signtool parece ser un problema, ya que tengo dificultades para instalar el software en mis máquinas.
Además, me gustaría firmar los ex en linux.
Solíamos realizar la tarea con signcode, pero solo es compatible con sha1 y md5. Desde el 01.01.2016, sha1 y md5 ya no se aceptan.
Por lo tanto me gustaria saber cuales son las alternativas para realizar la tarea.
Actualización : obtuve una herramienta de señalización extraída de otra computadora y también firmó los archivos con una marca de tiempo:
signtool.exe sign /fd SHA256 /a /f file.pfx /p my password /t http://timestamp.verisign.com/scripts/timstamp.dll filetosign.exey apareció como firmado con SHA256 y tiene una marca de tiempo, pero Internet Explorer todavía está dando problemas.
En mi humilde opinión, todavía se necesita esta pregunta, para saber si hay una alternativa y si esta alternativa funcionaría en Linux, porque una herramienta alternativa que haría el trabajo significaría que la solución no funciona debido a signtool, como opuesto a un problema de certificado o un problema de IE.
https://github.com/mtrojnar/osslsigncode -- use el parámetro -h sha2 al firmar
Otra alternativa es ebourg/jsign , que está escrito en Java.
Puede llamarse directamente desde Java o proporcionarse como una tarea ant .
Dado que está escrito en Java, esta herramienta se puede usar en cualquier plataforma que ejecute Java, incluidos (entre otros) Linux, Solaris y macOS.
Citando el README.md
Jsign es una implementación de Java de Microsoft Authenticode que le permite firmar y marcar con fecha y hora archivos ejecutables para Windows, Microsoft Installers (MSI) y secuencias de comandos de PowerShell. Jsign es independiente de la plataforma y proporciona una alternativa a las herramientas nativas como signcode/signtool en Windows o las herramientas de desarrollo Mono en los sistemas Unix.
Jsign viene como una tarea/complemento fácil de usar para los principales sistemas de compilación (Maven, Gradle, Ant). Es especialmente adecuado para firmar contenedores ejecutables e instaladores generados por herramientas como NSIS, msitools, install4j, exe4j o launch4j. Jsign también se puede usar mediante programación o de forma independiente como una herramienta de línea de comandos.
Jsign es de uso gratuito y tiene la licencia Apache License versión 2.0.