Estoy en MacOS y firmé un archivo zip, pero su cheques SHA256 no cambia. ¿Dónde rastrea MacOS este proceso de firma? ¡Muchas gracias!

$ codesign -dvvvv foo.zip 
foo.zip: code object is not signed at all

$ openssl dgst -sha256 foo.zip 
SHA256(foo.zip)= 30b954e18296f858e40f7bdeebb554cbef59e3f1e6ba947bda89c6342687e431

$ codesign --force --timestamp --sign "..." foo.zip 

$ openssl dgst -sha256 foo.zip 
SHA256(foo.zip)=30b954e18296f858e40f7bdeebb554cbef59e3f1e6ba947bda89c6342687e431

$ codesign -dvvvv foo.zip 
// output of signature
1
Daniel Stephens 13 jul. 2019 a las 07:00

1 respuesta

La mejor respuesta

Para los archivos "genéricos" (los que están en formatos que no admiten firmas incrustadas, como los binarios de Mach-O o las imágenes de disco), codesign se conectará la firma del código en forma de atributos extendidos:

$ codesign --force --timestamp --sign "..." sub.zip
$ ls -l@ sub.zip 
-rw-r--r--@ 1 gordon  staff  12449 Jul 12 22:36 sub.zip
    com.apple.cs.CodeDirectory    127 
    com.apple.cs.CodeRequirements     164 
    com.apple.cs.CodeRequirements-1   163 
    com.apple.cs.CodeSignature   9012

Los números existen el número de bytes de datos en cada uno de los atributos extendidos. Puede verlos con más detalle con el comando xattr.

3
Gordon Davisson 13 jul. 2019 a las 05:42