.NET: сильное именование против Authenticode

Прочитав про сильные имена в .NET здесь, например, у меня есть следующий вопрос:

У нас есть сертификат Authenticode, который подписывает все наши файлы EXE, DLL и MSI. Преимущество этого заключается в том, что Windows знает, что MSI поступает из надежного источника, а также то, что аутентификация каждого файла может быть проверена при необходимости.

В настоящее время мы не используем сильные имена .NET. Я читал, что сильное имя файла существенно означает, что оно подписано цифровой подписью с самозаверяющим сертификатом. Мое мнение об этом заключается в том, что сертификат Authenticode, подписанный доверенным центром сертификации, гораздо более ценен, чем самозаверяющий сертификат, подлинность которого никто не может проверить в любом случае, поскольку им не хватает корневого сертификата (и мы не собираемся распространять его среди конечных пользователей, мы!?).

Вопрос: Есть ли какое-либо значение в дополнение к сильным именам сборок, если уже используется подписка на аутентификацию?

Ответы

Ответ 1

Ответ будет зависеть от того, почему вы создали сильное имя - предполагаемое использование сильного имени - это создание уникальной идентификации для сборки. Например, если вам нужно подтолкнуть вашу сборку в GAC, тогда потребуется сильное имя. Однако сильное имя на самом деле не предназначено для проверки подлинности издателя - это служит для аутентификации. См. Эту статью: http://blogs.msdn.com/b/shawnfa/archive/2005/12/13/authenticode-and-assemblies.aspx