.NET: сильные имена против Authenticode - PullRequest
16 голосов
/ 17 декабря 2010

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

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

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

Вопрос: Есть ли какое-либо значение в дополнительно сборках со строгими именами, если подпись Authenticode уже используется?

1 Ответ

13 голосов
/ 17 декабря 2010

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

...