Re: Как получить strong name не из dotnet'a?
От: agos Россия http://trtrmitya.wordpress.com
Дата: 06.06.04 05:47
Оценка: 1 (1)
Здравствуйте, yoko, Вы писали:

Y>Ситуация: .net framework на компьютере не установлен, но на компьютере имеется некоторая сборка со strong name.

Y>Как из программы на delphi получить strong name этой сборки.
Может это поможет "C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\StrongName.h"
Тока для этого нужен .Net Framework SDK.
... << RSDN@Home 1.1.4 beta 2 >>
Не переходите улицу на тот свет..
Re[4]: Как получить strong name не из dotnet'a?
От: mihailik Украина  
Дата: 07.06.04 11:33
Оценка: +1
MW>и используешь.

Нет, ну по-хорошему ещё и проверить его нужно криптографически. А то оно будет не очень то Strong Name. Скорее Weak Name.
... << Rsdn@Home 1.1.4 beta 1 >>
Как получить strong name не из dotnet'a?
От: yoko  
Дата: 05.06.04 21:53
Оценка:
Ситуация: .net framework на компьютере не установлен, но на компьютере имеется некоторая сборка со strong name.
Как из программы на delphi получить strong name этой сборки.
... << RSDN@Home 1.1.3 stable >>
Re[2]: Как получить strong name не из dotnet'a?
От: yoko  
Дата: 06.06.04 08:36
Оценка:
Спасибо, я посмотрю.

A>...

A>Тока для этого нужен .Net Framework SDK.

А из самого файла сборки эту информацию можно вытащить? Без обращения к .NET API?
Дело в том, что framework может быть и не установлен на машине, а получить strong name все равно нужно.
... << RSDN@Home 1.1.3 stable >>
Re: Как получить strong name не из dotnet'a?
От: bt  
Дата: 06.06.04 11:26
Оценка:
Здравствуйте, yoko, Вы писали:

Y>Ситуация: .net framework на компьютере не установлен, но на компьютере имеется некоторая сборка со strong name.

Y>Как из программы на delphi получить strong name этой сборки.

Может быть Это
Автор(ы): Павел Румянцев
Дата: 06.12.2002
В статье описываются таблицы метаданных, правила вычисления их размеров, показывается, каким образом от таблиц можно перейти к логической организации данных. В частности, в статье показано, каким образом можно получить доступ к управляемому коду, что невозможно при использовании Reflection.
Re[3]: Как получить strong name не из dotnet'a?
От: Mace Windu  
Дата: 07.06.04 08:31
Оценка:
Здравствуйте, yoko, Вы писали:

Y>Спасибо, я посмотрю.


A>>...

A>>Тока для этого нужен .Net Framework SDK.

Y>А из самого файла сборки эту информацию можно вытащить? Без обращения к .NET API?

Y>Дело в том, что framework может быть и не установлен на машине, а получить strong name все равно нужно.

Открываешь
"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc"
и читаешь как тебе добраться до содержимого таблицы Assembly. Ничего сложного там нет. Извлекаешь из таблицы составные части StrongName( MajorVersion, MinorVersion, BuildNumber, RevisionNumber , PublicKey , Name , Culture) и используешь.
... << RSDN@Home 1.1.4 beta 1 >>
Re[5]: Как получить strong name не из dotnet'a?
От: yoko  
Дата: 16.06.04 20:54
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Нет, ну по-хорошему ещё и проверить его нужно криптографически. А то оно будет не очень то Strong Name. Скорее Weak Name.


А что значит — проверить криптографически?
... << RSDN@Home 1.1.3 stable >>
Re[6]: Как получить strong name не из dotnet'a?
От: mihailik Украина  
Дата: 17.06.04 17:53
Оценка:
Y>А что значит — проверить криптографически?

StrongName является чем-то типа цифровой подписи сборки.

Если ты просто вытащишь значение StrongName, то не факт, что сборка действительно та, что написано в StrongName. Чтобы удостовериться, нужно расчитать хеш и проверить, что он совпадает.
... << Rsdn@Home 1.1.4 beta 1 >>
Re[7]: Как получить strong name не из dotnet'a?
От: yoko  
Дата: 17.06.04 19:50
Оценка:
Здравствуйте, mihailik, Вы писали:

M>StrongName является чем-то типа цифровой подписи сборки.

StrongName является, наверное, чем-то типа уникального идентификатора сборки, а частью цифровой подписи является PublicKey, или я ошибаюсь?

M>Если ты просто вытащишь значение StrongName, то не факт, что сборка действительно та, что написано в StrongName. Чтобы удостовериться, нужно расчитать хеш и проверить, что он совпадает.

Так этот же самый хеш и рассчитывается при формировании StrongName?

Как можно рассчитать хеш сборки?
... << RSDN@Home 1.1.3 stable >>
Re[8]: Как получить strong name не из dotnet'a?
От: mihailik Украина  
Дата: 18.06.04 07:54
Оценка:
M>>StrongName является чем-то типа цифровой подписи сборки.
Y>StrongName является, наверное, чем-то типа уникального идентификатора сборки, а частью цифровой подписи является PublicKey, или я ошибаюсь?

Да. Только PublicKey входит в StrongName.

Поэтому, чтобы окончательно удостоверить StrongName, нужно проверить цифровую подпись. Это именно тот момент, который привёл к прилагательному "strong" в названии StrongName.
... << Rsdn@Home 1.1.4 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.