Чтобы построить на то, что другие уже размещены:
Отказ от ответственности: использование MS государственных/частных ключевых терминов w.r.t цифровой подписи, используемые, чтобы запутать меня много. У меня только что был «Ага!» момент. Я постараюсь поделиться своими мыслями, если это поможет кому-то.
Введите ППК
Общая схема государственно-частного ключ работает путем создания пары ключей, которые являются асимметричными. Вы не можете получить один из другого (по жизнеспособным средствам). Один из них называется закрытым ключом, а другой - открытым ключом.
Для связи «один ко многим» вы будете держать доступ к закрытому ключу и делиться открытым ключом. Ваши друзья, которые хотят обмениваться документами с вами, подписывают их своим открытым ключом. Вы расшифруете их своим личным ключом. Обратите внимание, что не имеет значения, какой именно ключ вы храните и который вы распространяете. Просто не выдавайте обоих.
Почему разные DigSigs?
Цифровые подписи немного странные. Это много-к-одному. Чтобы продолжить предыдущий пример: подумайте о ситуации, когда вы хотите поделиться документами со своими друзьями. Вам нужно будет подписать их, то есть шифровать, а ваши друзья должны иметь возможность расшифровать. Итак, вы по-прежнему делитесь своим открытым ключом, но вместо этого подписываете свой открытый ключ и отправляете его. У ваших друзей уже есть этот ключ, и они счастливо расшифровываются. В этом случае ваш открытый ключ действует как закрытый ключ и ваш секретный ключ выступает в качестве открытого ключа.
Выше было то, что MS делает со своими DLL.
стороне клиента проверка
Теперь, для части проверки. Сертификат, созданный MS, не подходит, пока Центр сертификации не говорит, что это хорошо. Это справедливо для всех. Если вы хотите безопасно вести бизнес, вам необходимо получить сертификат от центра сертификации. После того как ваш клиент установит ваше приложение, программа проверки работоспособности ОС вырвет ваш сертификат и проверит его, проверив что-то вроде цепочкой доверия. Он проверит, кто сертифицировал вашу подпись. Это родительский сертификат. Если система может идентифицировать родителя, они будут выполнены, и вы будете приняты. Если, однако, родительский элемент не может быть проверен, вызывается родительский родительский элемент. И цепочка продолжается, пока не найдется узел, который можно проверить. Если ни один узел не найден, они сообщают об этом как unsigned, unsafe.
Обратите внимание, что сертификаты могут быть отозваны. Таким образом, сертификат не означает, что вы хороши. Это еще одна причина, по которой процесс проверки становится важным.
ITYM шифрует открытым ключом ... расшифровывает с помощью открытого ключа. Это позволяет подписывать не-MS-производители. – dirkgently
Нет, схемы цифровой подписи всегда являются закрытым ключом, а затем проверяются публично. Я не уверен точно, как MS работает, чтобы внешние продавцы могли подписать. – ine
Ах, ладно! Я получаю это сейчас. Раньше у меня были проблемы с пониманием этого. Я отправлю свое понимание. – dirkgently