2012-09-24 9 views
10

Sto analizzando le applicazioni di Windows Store esistenti e le ho modificate per assicurarmi che l'offuscatore della mia azienda funzioni con loro.Errore interno SignTool durante il tentativo di riconfezionare un pacchetto APPX?

Mi sono imbattuto in un po 'di problema facendo questo però. Posso prendere facilmente un pacchetto APPX dallo store (richiede Fiddler per ottenere l'URL). Posso quindi utilizzare qualsiasi programma di decompressione per estrarre l'app in una cartella. Posso quindi prendere gli assembly nell'APP e modificare leggermente l'IL. Ho poi rifaccio e firmare il pacchetto:

makeappx pack /d "mypackage" /p "mypackage.appx" 
signtool sign /fd sha256 /f temporarykey.pfx mypackage.appx 

Allora ottengo un errore con signtool però:

SignTool Error: An unexpected internal error has occured 
Error information: "Error: SignerSign() failed." (-2147024885/0x800700b) 

E poi, naturalmente, ottengo un errore quando prova ad installare con il file PowerScript standard creato da Visual Studio per l'installazione/sideload di qualsiasi pacchetto APPX.

Found package: C:\....mypackage.appx 
Error: The package is not digitally signed or its signature is corrupted 

Ho usato questo processo esatto per i pacchetti generati da Visual Studio. Le chiavi temporanee sono legate a un particolare pacchetto o qualcosa del genere? Cosa mi manca? Si tratta di un bug in firmtool?

+0

'0x8007000b' è un errore di formato errato. (Non ho idea di cosa ciò indichi con questo strumento, però.) –

+0

@JamesMcNellis in questo strumento significa apparentemente un certificato non corrispondente. Vedere la mia risposta – Earlz

risposta

13

Quindi, a quanto pare, non puoi semplicemente prendere una chiave temporanea e firmare l'APPX con esso. In particolare, le righe dell'oggetto del certificato devono corrispondere (il "nome dell'editore"). Non conosco un modo migliore per determinare che cosa la linea tematica sia in realtà così nuda con me. In primo luogo, provare a utilizzare signtool e firmare il file APPX con qualsiasi chiave temporanea. Ora vai a Visualizzatore eventi. Quindi su Applicazioni e servizi, quindi su Microsoft, quindi su Windows, quindi su AppxPackaging e infine su Microsoft-Windows-AppxPackages/Operational. Ci dovrebbe essere un evento di errore che è appena successo da quella build. Controllalo. Dovrebbe dire qualcosa di simile

Error 0x800700B: The app manifest publisher name (CN=random-hex-number) must match the subject name of the signing certificate (CN=MyWrongName) 

Così, ora assicurarsi di aggrapparsi a quel casuale hex-numero. Questo deve essere l'oggetto del certificato ed è la causa dell'errore. Per generare un certificato di lavoro:

makecert.exe mycert.cer -r -n "CN=random-hex-number" -$ individual -sv private.pkv -pe -cy end 
pvk2pfx -pvk private.pkv -spc mycert.cer -pfx mytemporarykey.pfx 

Ora finalmente, si dovrebbe avere una chiave temporanea che funzionerà con signtool!

Speriamo che questa risposta serva bene agli altri.

+0

... sarebbe troppo facile per gli utenti se l'errore verrebbe scritto sulla riga di comando ... Grazie mille! – pi3

+0

Windows 10 non sembra utilizzare le stesse posizioni del visualizzatore eventi. Non vedo una sezione 'AppxPackaging', e non sono riuscito a trovare dove potrebbe essere. Inoltre, l'errore che ho riscontrato nel visualizzatore eventi sembra completamente diverso: inizializzazione della registrazione del certificato SCEP per MYDOMAIN \ MYCOMPNAME $ tramite https://IFX-KeyId-29fe69630e853a4cd3575f84392a9bed2d7e8ca2.microsoftaik.azure.net/templates/Aik/scep non riuscito: GetCACaps Metodo: GET (265ms) fase: GetCACaps L'autorità di certificazione è 0x80072F0D valida o non corretta (WinHttp: 12045 ERROR_WINHTTP_SECURE_INVALID_CA) –

+0

che mi portano a questo: ERROR_WINHTTP_SECURE_INVALID_CA Indica che una catena di certificati è stata elaborata, ma terminata in un certificato di root che non è considerato affidabile dal provider di fiducia (equivalente a CERT_E_UNTRUSTEDROOT). Da: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383770%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 –

Problemi correlati