Лучшие практики для подписания блоков.NET?

Шаг 1: Возьмите загружаемый файл url и настройте его с помощью NSURLSession и его метода dataTaskWithUrl.

Шаг 2: Интегрируйте метод NSURLSessionDelegate, NSURLSessionDataDelegate в ваш контроллер.

Шаг 3: Возьмите две переменные CFAbsoluteTime, которые хранят starTime и назначают CFAbsoluteTimeGetCurrent(), а второй stopTime в didReceiveData: методе делегирования.

шаг 4: скорость счета, подобная этой

  CFAbsoluteTime elapsedTime = stopTime - startTime;
  float speedOfConnection = elapsedTime != 0 ? [data length] / (stopTime - startTime) / 1024.0 / 1024.0 : -1;
45
задан Peter Mortensen 29 August 2013 в 07:46
поделиться

5 ответов

Если Ваша единственная цель состоит в том, чтобы мешать FxCop вопить на Вас, то Вы нашли лучшую практику.

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

  • Для персонального использования
  • Для использования на ПК корпоративной сети как клиентское приложение
  • , Работающее на веб-сервере
  • Выполнение в SQL Server
  • , Загруженном по Интернету
  • Проданный на CD в термоусадочной пленке
  • Загруженный прямо в кибернетический мозг
  • И т.д.

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

ОБНОВЛЕНИЕ: то, Как это приносит пользу Вашим конечным пользователям, когда Вы развертываетесь по сети, - то, если Вы получили программное обеспечение, подписав сертификат от центра сертификации . Тогда, когда они загружают Ваши блоки, они могут проверить, что прибыли от Торговый центр программного обеспечения Domenic , и они не были изменены или повреждены по пути. Вы также захотите подписать установщик, когда он будет загружен. Это предотвращает предупреждение, что некоторый дисплей браузеров, что он был получен из неизвестного источника.

Примечание, Вы заплатите за программное обеспечение, подписывая сертификат. То, что Вы получаете, является центром сертификации, становятся доверяемой третьей стороной, которая проверяет, что Вы - то, кто Вы говорите, что Вы. Это работает из-за сети доверия, которое прослеживает его путь до корневого сертификата, который установлен в их операционной системе. Существует несколько центров сертификации для выбора из, но Вы захотите удостовериться, что они поддерживаются полностью сертификаты в целевой операционной системе.

44
ответ дан Jim McKeeth 26 November 2019 в 21:25
поделиться

Это помогает, потому что исполняемый файл ожидает сборку со строгим именем. Это останавливает любого злонамеренно занимающего место в другом блоке одно ваше. Также пользователь мог бы дать CAS блока разрешения на основе строгого имени.

я не думаю, что необходимо распределять .pfx файл, Вы бережно храните это для отставки блока.

3
ответ дан Martin Clarke 26 November 2019 в 21:25
поделиться

Наиболее заметное отличие между и неподписанными блоками со знаком находится в приложении ClickOnce. Если Вы не подпишете его, то пользователи получат страшного "Неизвестного Издателя" предупреждение диалогового окна в первый раз, когда они запускают Ваше приложение. Если Вы подписали его с сертификат от доверяемых полномочий , то они видят диалоговое окно, это менее страшно. Насколько я знаю, подписываясь с сертификатом, который Вы генерируете сами, не влияет на "Неизвестного Издателя" предупреждение. Момент SSL от Comodo имеет примеры диалоговых окон.

существуют некоторые более тонкие различия. Необходимо подписать блок, прежде чем он сможет быть установлен в глобальном кэше сборок (GAC), где он может быть совместно использован несколькими приложениями. Подписание является неотъемлемой частью безопасности доступа к коду (CAS), но я не нашел никого, кто мог получить работу CAS. Я вполне уверен, что и GAC и CAS хорошо работают с сертификатами, которые Вы генерируете сами.

8
ответ дан Don Kirkby 26 November 2019 в 21:25
поделиться

Подписание используется для однозначного определения блока. Больше деталей находится в Как к: Подпишите блок (Visual Studio) .

С точки зрения лучшей практики, хорошо использовать тот же ключ, пока блоки имеют различные имена.

2
ответ дан Peter Mortensen 26 November 2019 в 21:25
поделиться

важно держать Ваш файл PFX в секрете, поскольку это содержит закрытый ключ.

, Если тот ключ сделан доступным для других тогда, любой может подписать блоки или программы, которые подменяют Вами.

Для соединения имени с блоками (в глазах Windows) необходимо будет получить цифровой сертификат (часть файла PFX, содержащего имя) подписанный доверяемыми полномочиями.

На самом деле Вы получите новый сертификат, но с той же информацией.

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

3
ответ дан Peter Mortensen 26 November 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: