Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Марина от 28-01-2016, 14:42:29

Название: Добавление сертификата цифровой подписи к сборке
Отправлено: Марина от 28-01-2016, 14:42:29
Добрый день!


Подскажите, пожалуйста, почему после добавлении моего сертификата к решению в Visual Studio при его дальнейшей сборке появляются такие сообщения как:
Сбой при создании сборки -- Сборка "Acdbmgd", на которую дана ссылка, не имеет строгого имени
Сбой при создании сборки -- Сборка "accoremgd", на которую дана ссылка, не имеет строгого имени.

И как это можно исправить?

Спасибо:)
Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Александр Ривилис от 28-01-2016, 15:12:59
И как это можно исправить?
Насколько я знаю никак. Думаю что готовую сборку нужно подписывать как-то так:
http://adndevblog.typepad.com/autocad/2015/01/adding-a-post-build-event-to-digitally-sign-a-binary-file.html
Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Андрей Бушман от 28-01-2016, 15:15:35
Насколько я помню, для этого должны быть подписаны все сборки, подключенные к проекту. Я задавал подобный вопрос в блоге Кеан Волмслея (если мне не изменяет память) несколько лет назад на тему того, почему они не подписывают эти сборки. Ответ был такой, что мол отсутствие подписи для обозначенных сборок это не недостаток, а наоборот благо для прикладного программиста (если кратко). Хотя убедительных доказательств для наличия такого мнения я так и не получил. В прошлом году в том же блоге появилась такая (http://through-the-interface.typepad.com/through_the_interface/2015/05/signing-your-application-modules-for-autocad-2016-part-1.html) запись по теме подписания кода, но я её пока не читал (возможно, что наконец-то сборки стали подписываться Автодеском).
Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Марина от 28-01-2016, 17:39:51
Александр, Андрей, спасибо за ответы.

У меня уже есть готовый, действительный сертификат в формате .pfx. Прикрепила скриншот с ошибками. На ошибку со сборкой DwgParse не обращайте внимания - это моя сборка, я ее могу подписать без проблем.

Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Александр Ривилис от 28-01-2016, 17:44:52
Марина
Похоже Вы не читаете то, что Вам пишут. Таким способом подписать нельзя. Как можно/нужно подписывать в ссылках в предыдущих сообщениях. Читайте.

Вот ответ на вопрос почему у Вас такая ошибка: https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Customization/files/GUID-0AFCAF6A-07DA-44EB-835F-9CBD3253F3D6-htm.html (русский вариант: http://help.autodesk.com/view/ACD/2016/RUS/?guid=GUID-0AFCAF6A-07DA-44EB-835F-9CBD3253F3D6)

Вот ответ как правильно подписывать приложение: https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Customization/files/GUID-3DA95353-9EF3-4E29-9671-6AEB7704EBE6-htm.html (русский вариант: http://help.autodesk.com/view/ACD/2016/RUS/?guid=GUID-3DA95353-9EF3-4E29-9671-6AEB7704EBE6)
Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Марина от 28-01-2016, 20:39:46
Как ни странно, читаю. Благодарю Вас за развернутый ответ. Теперь мне стало понятнее.
Название: Re: Добавление сертификата цифровой подписи к сборке
Отправлено: Александр Ривилис от 29-01-2016, 01:00:01
Как ни странно, читаю.
Отлично! :) Цифровая подпись приложения и строгое имя (strong name) .NET-сборки - это совершенно разные вещи. AutoCAD при загрузке arx/dbx/dll/и .т.д. контролирует цифровую подпись, а строгое имя контролируется только .NET CLR. Если хотябы одна из сборок, на которую есть ссылки в данной сборке, не имеет строгого имени, то и данной сборке нельзя присвоить строгое имя. Это вкратце.