web-dev-qa-db-ja.com

プログラムでファイルの署名を確認する方法は?

私の秘密鍵で署名されたdllファイルがあります。これがWindowsエクスプローラーの署名情報です。

Windows signature details on test.dll

さて、証明書にある公開鍵を使用して、ファイルの整合性を確認するにはどうすればよいですか?

Image of my signing certificate

Exeファイルをクライアントに配布しています。起動時にexeファイルが自分の署名を確認する必要があります。これを実装するには、どのc ++ APIまたはWindowsのデフォルトコマンドを使用できますか?

2
Kethiri Sundar

すべての敬意を払って、あなたはよく理解していない何かのために車輪を再発明しようとしています。アプリが起動時に独自の署名を検証できるように、独自のRSA署名検証コードをハンドロールしようとしています。

これは、Windowsコード署名システムによって解決された問題です。あなたがすべきことは 適切なコード署名証明書を購入する ですので、Windowsが実行されるたびにアプリの署名を自動的に検証します:

Windows code signing dialog box

暗号は非常にトリッキーで正しく理解するのが難しいため、ゼロからこれを実行するのではなく、組み込みのWindowsメカニズムを使用することを強くお勧めします。

3
Mike Ounsworth