У меня есть приложение, которое имеет 1 ссылочную сборку (test.exe, test.dll)
Что мне нужно, когда запускается test.exe
, он должен показывать имя издателя как "TestCompany".
Чтобы сделать это, я подписал цифровую подпись, и он делает то, что я хочу. И если я изменяю один байт test.exe
, имя издателя "Неизвестно". Это хорошо.
Но если я изменяю test.dll
, приложение запускается как ничего не произошло и показывает имя издателя как "TestCompany". Что плохо для меня.
Поэтому я положил сильное имя на test.dll
и добавил <bypassTrustedAppStrongNames enabled="false" />
в app.config.
Опять же, никакой разницы. Поэтому я снова искал и обнаружил, что bypassTrustedAppStrongNames
проверяет, имеет ли узлы сильное имя или нет. Не проверка. Это не хорошо для меня снова.
То, что я точно хочу, это защитить пользователя, а не мое приложение. Если пользователь запускает мое приложение, и он говорит об этом от меня, он должен быть от меня как каждый байт. Если приложение было изменено, даже один байт, он должен уведомить пользователя, а не от меня. Это то, что цифровой знак предполагает делать вместе с сильным именем, но все они все еще не так хороши. Или я что-то упускаю?
Последний возможный способ, который я могу придумать, - проверить вручную сильное имя сборки.
PS: Target.net framework 2.0.