разница между signtool и sn или al для подписи сборки

Я вижу такой инструмент, как SN, который генерирует пару закрытый/открытый ключ для подписи сборки. и с помощью инструмента AL мы можем присвоить сборке строгое имя

И у нас также есть инструмент Sign, который используется для подписи сборки (вероятно, для использования исключительно с сертификатами?).

В чем точная разница между ними? Нужно ли использовать инструмент подписи при работе с сертификатами и можем ли мы получить его SN? или они совсем разные.?

Пожалуйста помоги.


person sveerap    schedule 02.01.2011    source источник
comment
Вы пробовали искать в Интернете? что ты нашел?   -  person Mitch Wheat    schedule 02.01.2011
comment
Я пока не нашел ни одной статьи, объясняющей различия между двумя   -  person sveerap    schedule 02.01.2011


Ответы (1)


Signtool предназначен для подписи кода, которая обеспечивает проверку целостности кода и аутентификацию издателя.

Sn — это сильное имя. Это только для сборки .NET. Он решает проблему уникального идентификатора.

Оба инструмента могут гарантировать, что файлы не были подделаны, но только подпись кода (signtool) может гарантировать вам, кто является издателем файлов.

Мы можем использовать SignTool.exe для подписи и отметки времени файла с заданным pfx, даже если файл является dll со строгим именем.

person Harvey Kwok    schedule 02.01.2011
comment
Спасибо за ответ. Это означает, что я могу иметь отдельный закрытый/открытый ключ для строгого именования сборки, а затем выполнить подпись с помощью инструмента подписи, предоставив сертификат или ключ (отличный от предыдущего) с данными полномочиями подписи? И когда мы говорим строгое имя, это подразумевает цифровую подпись также как одну из частей компонентов строгого имени (имя, версия, культура, открытый ключ, цифровая подпись). В этой части цифровой подписи будет ли она создана с помощью строгого именования (инструмент sn или al) или создана с помощью инструмента подписи?. - person sveerap; 02.01.2011
comment
Кроме того, когда я проверяю dll со строгим именем с помощью ildasm, я вижу версию, открытый ключ, но не цифровую подпись в манифесте. где именно хранится?. - person sveerap; 02.01.2011
comment
@sveerap: Да, вы можете иметь закрытый / открытый ключ для строгого имени, а затем подписывать с помощью signtool. Ваше сильное имя использует открытый ключ/закрытый ключ, созданный с помощью инструмента sn. Я не пытался узнать подпись, и я не знаю, есть ли они в манифесте или нет. Чтобы указать строгое имя, вам не обязательно знать цифровую подпись. Почему вы хотите это выяснить? - person Harvey Kwok; 02.01.2011
comment
@sveerap: Ваш вопрос о том, где цифровая подпись SN заставляет меня не спать :). Я только что узнал ответ из спецификации CLI. ecma-international.org/publications/files/ECMA- ST/ECMA-335.pdf. См. стр. 189, раздел 25.3.3. Цифровая подпись SN хранится в одном из расширенных разделов формата файла PE. Используется только загрузчиком CLI. Опять же, вам это не нужно в вашем сильном имени. - person Harvey Kwok; 02.01.2011