Подтвердить что ты не робот

Параметры сертификата подписи кода

Мне была поручена покупка цифрового сертификата для моей компании, чтобы подписать наш код. Мы разрабатываем приложения в пространстве Microsoft - в основном WPF или Web Based.

Я исследовал варианты и нашел Comodo хорошим и отзывчивым, и мы готовы пойти и купить сертификат через них. Однако в форме регистрации есть различные варианты закрытого ключа, которые я не слишком уверен, а именно:

  • СНТ

    • Microsoft Cryptographic Provider
    • Поставщик криптографической карты Microsoft Base
    • Microsoft Enhanced Cryptographic Provider v1.0
    • Поставщик криптографических программ Microsoft
  • Размер ключа

    • 1024
    • 2048
    • 4096
  • Exportable?

    • Да/Нет
  • Пользователь защищен?

    • Да/Нет

Просто интересно, что все это значит, и какие лучшие варианты для наших требований? Любые советы/предложения будут оценены

спасибо кучам Грег

4b9b3361

Ответ 1

Для "большинства целей" рекомендуются следующие варианты:

Microsoft Base Cryptographic Provider Размер ключа: 2048 Экспортируемый: Да Защищенный пользователем: Да

Честно говоря, я не знаком с разными CSP, но Base делает эту работу каждый раз для меня.

Размер ключа делает ключи сложнее взломать, но более 2048 бит для ключа с коротким и среднесрочным периодом (3-5 лет) достаточно (IMHO).

Экспортируемый позволяет экспортировать пару закрытого ключа/сертификата - необходимо для его резервного копирования!

Защищенный пользователем означает, что вы должны вводить пароль каждый раз, когда хотите использовать сертификат, - настоятельно рекомендуется для предотвращения случайного или злонамеренного подписания кода с вашим сертификатом.

Надеюсь, что это поможет.

Ответ 2

Исторически, "базовый" поставщик криптографии имел искусственное ограничение по длине ключа, а "расширенный" провайдер имел ограничение. Это позволило Microsoft соблюдать законы США об экспорте, удалив расширенный поставщик в определенных версиях.

По-видимому, с изменениями в законодательстве об экспорте Microsoft удалила ограничение с базового провайдера, что позволило увеличить длину ключа (но сохранила имя для совместимости)

Ответ 3

Что касается "Microsoft Cryptographic Provider" - я думаю, что это должно быть "сильным" (а не "программным обеспечением" ).

На практике, где я работаю, база дает 512-битную длину ключа (которая больше не поддерживается или работает на серверах MS после недавнего обновления - читайте на KB2661254). Вы хотите по крайней мере 1024, но 2048 - лучший выбор.

Остерегайтесь: экспортируемый закрытый ключ необходим для резервного копирования и/или переноса на другой сервер (и необходим для подписи кода/сценариев, я думаю), но вводит возможность его попадания в чужие руки, после чего нежелательные сценарии могут быть подписывается и запускается на ваших серверах, как только вы доверяете этому сертификату! Будьте особенно осторожны в том, где/как вы его храните и используете сильную кодовую фразу!

Двойная проверка: вам, скорее всего, понадобится доверенный корневой сертификат CA (CA, который выдал сертификат подписи кода), а также ваш сертификат в "Trusted Publishers", чтобы получить подписанные сценарии PowerShell для запуска.