Come faccio a firmare un controllo ActiveX con un certificato di firma del codice e di essere un editore verificata?

StackOverflow https://stackoverflow.com/questions/2814233

Domanda

Sto cercando di firmare un controllo ActiveX con un certificato di firma del codice rilasciato da Thawte. Sono stato in grado di firmare con successo il controllo utilizzando SignTool.exe.

Quando guardo le proprietà del file, si dice "Il certificato nella firma non può essere verificata."

Quando osservo il certificato si dice "Windows non dispone di informazioni sufficienti per verificare il certificato".

Nella scheda percorso di certificazione, si dice "L'emittente di questo certificato non può essere trovato".

In Internet Explorer, il certificato è riconosciuto come firmato, ma l'utente riceve avvisi che l'editore non è verificato.

Ho cercato di creare un unico file PFX contenente il mio certificato insieme con la radice e certificati intermedi che a catena per il mio certificato sviluppatore Thawte, e poi ri-firma il controllo utilizzando tale file PFX. Niente da fare.

Qualche suggerimento?

È stato utile?

Soluzione

La domanda contiene in realtà i procedure-- corretti fanno la firma utilizzando un file PFX che contiene il certificato principale, certificato intermedio, certificato come sviluppatore, e la chiave privata. Inoltre, utilizzare un server di timestamp. Il mio problema era che avevo il certificato principale sbagliato incluso nel mio PFX, in modo che il certificato utilizzato per firmare non poteva catena di nuovo alla radice.

A richiesta, ecco le informazioni su come creare il file PFX. Il cert2spc e pvk2pfx che uso qui di seguito sono anche nella piattaforma SDK.

cert2spc certpath1.cer certpath2.cer certpath3.cer codesign.spc

Se l'elenco dei file con estensione cer comprende la radice, intermedio e certificati di firma del codice e codesign.spc è il file di output. Poi:

pvk2pfx -pvk privkey.pvk -spc codesign.spc

L'esecuzione pvk2pfx in questo modo si avvia una procedura guidata che richiede per la passphrase chiave privata, e la posizione del file di output, e la passphrase per il file di output.

Infine, SignTool fa la firma codice vero e proprio:

signtool sign /f my_certificates.pfx /p my_passphrase /t http://timestamp.verisign.com/scripts/timstamp.dll my_activex_control.ocx

In retrospettiva, avrei potuto risparmiare tempo utilizzando Signcode.exe aka la procedura guidata di firma del codice (che credo sia parte di .NET SDK), che usi .spc e file .pvk direttamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top