2013-04-18 14 views
5

Ho seguito questo link per firmare la mia domanda exe.Perché compare "La password PFX specificata non è corretta" quando si tenta di firmare l'applicazione con signtool?

  • ho installato strumento SDK su Windows 7,

  • corsa C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin>makecert.exe -sv App-O.pvk -n "CN=MY DIGITAL KEY" App-O.cer

finestra di dialogo aperta per fornire la password:

enter image description here

ho scritto la password: 'fess '

nuova finestra aperta:

enter image description here

ho inserito: 'fess'

#Succeeded

file App-O.cer e App-O.pvk creaded.

ora generano pfx:

pvk2pfx.exe -pvk App-O.pvk -spc App-O.cer -pfx App-O.pfx 

finestra di dialogo aperta per fornire la password:

enter image description here

ho incollato pfx

file 'fess' creato.

Ora corro signtool:

C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin>signtool.exe sign /f "App-O.pfx" /p fess "C:\Output\setup.exe" 

Qui ho ottenuto l'errore:

SignTool Error: The specified PFX password is not correct. 

Number of files successfully Signed: 0 
Number of warnings: 0 
Number of errors: 1 

Cosa mi sono perso?

BTW, lo stesso errore che ottengo dalla shell CMD di Windows SDK.

Grazie,

risposta

17

Ci sono un paio di problemi.

Prima di tutto si sta utilizzando un certificato autofirmato, quindi è necessario definirlo esplicitamente aggiungendo la chiave -r al comando makecert o si otterrà un errore "Il certificato del firmatario non è valido per la firma" al passaggio del segno.

successivo, in questa fase

signtool.exe sign /f "App-O.pfx" /p fess "C:\Output\setup.exe" 

si sta tentando di aprire pfx utilizzando la password "fess". Ma in realtà non hai impostato alcuna password per il file pfx. Per farlo devi aggiungere -po chiave al comando di creazione pfx.

Successivamente è possibile firmare la domanda.

Così il processo corretto sarà:

makecert.exe -sv App-O.pvk -n "CN=MY DIGITAL KEY" App-O.cer -r 

pvk2pfx.exe -pvk App-O.pvk -spc App-O.cer -pfx App-O.pfx -po fess 

signtool.exe sign /f "App-O.pfx" /p fess "C:\Output\setup.exe" 

Ecco alcuni link utili:

+0

Hmm, quando eseguo la finestra di dialogo password 'pvk2pfx.exe -pvk App-O.pvk -spc App-O.cer -pfx App-O.pfx' aperta dove fornisco la password. Ho pensato che fosse lo stesso di aggiungere: '-po fess'. O hai torto –

+0

Sì, amico, grazie hai ragione :) ti aggiungo +100 dopo 18 ore –

+0

Se non vuoi esporre la tua password, installa la chiave privata e usa l'opzione signtool/a che sceglie " migliore "chiave dal negozio che corrisponde al CN ecc. specificate. –

Problemi correlati