.NET 4.0後期バインディング:アセンブリの信頼性を確保しますか?
-
04-10-2019 - |
質問
プラグインをサポートする.NET C#アプリケーションを開発する必要があります。私はインターネット上で多くの情報を見つけましたが、それほど難しくないようです。
モジュールのアセンブリが しなければならない アセンブリレベルで検証されます。遅いバインディングが発生し、アセンブリがロードされた場合、ホストアプリケーションはそれを絶対に確認する必要があります。
- アセンブリは変更されていません。
- 議会は確かに会社によって提供されました。
キーを使用してアセンブリに署名することは可能であると読みましたが、私が理解している限り、これはアセンブリが変更されなかったことを証明するだけです。
アセンブリの信頼性を確保するためには、何をしなければなりませんか?
どんな助けも大歓迎です。
解決
コメントで言ったように、これは以前に尋ねられました: アセンブリの強い命名を使用して、アセンブリ著者を検証できますか?
このリンクは、既知の一連の公開キーに対して公開キーを検証する方法の例を示しています。 http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx しかし、それはちょっと古く、それ以来大きな変化があったかどうかはわかりません。
編集:SOの答えは、上記のShawnfaのブログへのリンクと同じ手法を示唆しているので、おそらくまだ残っています。
他のヒント
アセンブリの開発者は、承認された証明書当局(CAS)のいずれかから取得したAuthenticode TechnologyとX.509証明書を使用してアセンブリに署名する必要があります。次に、ホストは署名を確認し、ロードされているアセンブリの署名で証明書を検証する必要があります。
オプションの1つとして、私たちの製品は SecureBlackBox, 、Authenticodeの署名と検証、および完全なX.509証明書の検証を実行する機能を提供します。