Domanda

Come faccio a firmare un Visual C # eseguibile?

SignTool.exe non riesce a trovare un certificato.

Come faccio a creare una chiave di auto firmato e certificato, e hanno SignTool in grado di vedere il certificato e usarlo?

OpenSSL e Visual Studio 2010 Express sono installati. Esecuzione di Windows 7 Ultimate x64.

Utilizzando SignTool.exe dal Windows Driver Kit.

È stato utile?

Soluzione

Utilizzando certificati autofirmati per la firma digitale i binari praticamente va contro il concetto di utilizzare certificati digitali con i programmi. L'idea di base è quello di dimostrare il codice è stato creato da voi (autenticità) e non è stato modificato dopo quello del suo rilascio (integrità). Questo deve essere fatto utilizzando un certificato firmato che è firmato da un fidato Certificate Authority (CA).

Con Net, quando un binario è firmato digitalmente, è automaticamente verificato per l'integrità e l'autenticità durante l'avvio. Anche se non ho personalmente testato questo, utilizzando un certificato autofirmato è destinata probabilmente a causare una grande quantità di problemi.

Se si desidera firmare digitalmente i programmi, è necessario investire in un certificato di firma del codice da una CA. Ci sono un certo numero di aziende là fuori che può fornire questo servizio ( Verisign , Thawte ), a pagamento.

Mentre la tassa potrebbe sembrare un po 'estrema nel prezzo, ricordate che non sono solo l'acquisto di un certificato digitale, ma anche 24/7 convalida di tale certificato. Ogni volta che qualcuno avvia il programma che garantirà il programma è stato scritto da te e che il programma non è stato cambiato da quello del suo rilascio.

Una volta ottenuto un certificato, è possibile firmare digitalmente il programma seguendo la procedura descritta in Come:. Segno e implementazione applicativa Manifesti

Aggiornamento: Se questo programma è rigorosamente un'applicazione interna (limitato a voi o il vostro business), potete creato il proprio CA . Dal momento che si sarebbe l'unico che lo gestisce, solo si avrebbe bisogno di convalidarlo. Il certificato CA avrebbe bisogno di essere installato come Trusted certificato di origine sul tutto le macchine che correrebbe il programma (o se si ha accesso a Windows Server, si potrebbe istituire un vero e proprio CA di lavoro).

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