Изменить с 24.01.2012: теперь нельзя использовать другие доверенные сертификационные центры. Вопрос и ответ не устарели:
WinQual все еще отклоняет подпись:
когда мы уже установили, что это действительная цифровая подпись:
Для полноты, я оставлю править ниже, что кто-то еще сделал; просто указать, насколько он ошибался. И он может жить с этим позором:
Изменить с 2014 года: теперь можно использовать другие доверенные сертификационные центры. Вопрос и ответ устарели.
В 2005 году я попытался создать учетную запись WinQual с Microsoft, так что я мог бы получить наши (если есть) файлы дампов сбоев, отправленные автоматически через Windows Error Reporting (WER). Мне не разрешили иметь свалку, потому что у меня нет сертификата Verisign. Вместо этого у меня есть более дешевый, созданный дочерней компанией Verisign: Thawte.
Метод, в котором вы присоединяетесь: вы подписываете цифровую форму образца, который они предоставляют. Это доказывает, что вы являетесь тем же подписывающим лицом, что подписали приложения, в которых они получили аварийные дампы из дикой местности.
Криптографически секретный ключ необходим для создания цифровой подписи в исполняемом файле. Только владелец этого закрытого ключа может создать подпись для соответствующего открытого ключа. Неважно, кто создал этот закрытый ключ. Это включает сертификаты, созданные из:
- собственной подписи
- Wells Fargo
- DigiCert
- SecureTrust
- Trustware
- QuoVadis
- GoDaddy
- Entrust
- Cybertrust
- GeoTrust
- GlobalSign
- Comodo
- Thawte
- Verisign
Однако Microsof WinQual принимает только цифровые сертификаты, созданные Verisign. Даже дочерние компании Verisign недостаточно хороши (Thawte).
Может ли кто-нибудь подумать о какой-либо технической, юридической или этической причине, по которой Microsoft не хочет принимать сертификаты подписи кода? Сайт WinQual говорит:
Почему требуется цифровой сертификат? для участия в Winqual?
Цифровой сертификат помогает защитить вашей компании от лиц, которые ищут выдать себя за своих сотрудников или которые в противном случае совершали бы действия мошенничество с вашей компанией. Используя цифровой сертификат позволяет личность для пользователя или организация.
Как-то цифровой сертификат Thawte не защищен?
Два года спустя я отправил напоминание в WinQual, которое я ожидал, чтобы получить доступ к моим дампам аварий. Ответ от команды WinQual:
Здравствуйте,
Спасибо за напоминание. У нас есть уведомил соответствующих людей о том, что это все еще запрос.
В 2008 году я задал этот вопрос на форуме поддержки Microsoft, и ответ был:
Мы настроены только на прием VeriSign Сертификаты на данный момент. У нас есть не было подавляющего требования к поддержка других типов сертификатов.
Что может означать, что не нужно "устанавливать", чтобы принимать другие виды сертификатов?
Если отпечаток ключа, который подписывал тестовое приложение WinQual.exe, совпадает с отпечатком, который подписал исполняемый файл, который сбил дамп, который вы получили в дикой природе: это доказано - это мои свалки, дайте их мне.
И это не похоже на специальный API для проверки правильности цифровой подписи Verisign, в отличие от всех других цифровых подписей. Действительная подпись действительна независимо от того, кто сгенерировал ключ.
Microsoft может не доверять подписчику, но это не то же самое, что и идентификация.
Итак, это мой вопрос, может ли кто-нибудь подумать о какой-либо практической причине, почему WinQual не настроен для поддержки цифровых подписей?
Один человек предположил, что ответ заключается в том, что они просто ленивы:
Не знаю, но я бы предположил что команда, управляющая winQual система - живая команда, а не разработчик команда - как, личность и набор навыков направленных на поддержание существующих системы. Возможно, я ошибаюсь.
Они не хотят делать работу, чтобы изменить ее. Но может ли кто-нибудь подумать обо всем, что нужно изменить? Это та же логика, независимо от того, что сгенерировал ключ: "соответствует ли отпечаток пальца".
Что мне не хватает?
Update
Приятно слышать истории других разработчиков. Таким образом, я знаю, что я не один, и этот вопрос может служить средством для изменения в части Microsoft. И даже если мое первоначальное намерение было жалобным выражением, чтобы сохранить этот действительный вопрос StackOverflow, я ищу техническую причину, по которой Microsoft может принимать сертификаты Verisign.
API-интерфейс crypto не заботится о том, что имя компании, выдавшей сертификат: оно заботится только о том, что цепочка подписчиков возвращается к доверенному корню.
Что может случиться, что Microsoft специально не использует установленную криптоинфраструктуру, а ограничивается собой Verisign?
Если кто-нибудь может указать на любую запись в блоге, где менеджер или разработчик программы объясняет почему, я бы, возможно, был удовлетворен.
Обновить два
Кажется, что люди не понимают моего вопроса. Windows уже имеет инфраструктуру кода, гарантирующую, что сертификат цифровой подписи заслуживает доверия. Вот скриншот цифровой подписи на одном из наших подписанных исполняемых файлов.
Вы можете видеть, что наш сертификат был подписан сертификатом полномочий Thawte Code-Signing, который, в свою очередь, подписан Thawte:
alt text http://i34.tinypic.com/2hi2cr8.jpg
И сертификат "thawte" отправляется по умолчанию в Windows:
alt text http://i38.tinypic.com/ydfr.jpg
Thawte Premium Server CA достаточно хорош, чтобы каждая копия Windows и Internet Explorer уже доверяла ему. И уже существует установленный API, чтобы проверить, действительно ли сертификат (т.е. Доверенный).
Когда появятся парни из WinQual, им пришлось бы уйти со своего пути, чтобы избежать правильной проверки, а вместо этого развернуло собственное решение, жестко кодируя только Verisign как доверенный корень, Почему они отправятся из своего пути, чтобы игнорировать другие доверенные корневые органы, власти, которые отправляют на компьютер Windows, что их код работает, а вместо этого жесткий код Verisign
Вместо того, чтобы делать это так, как делают все остальные (Windows Explorer, Firefox, Chrome, Internet Explorer, Opera, CertMgr и т.д.), они специально разрешают Verisign. И мой вопрос: почему.
Why would WER not accept code-signing certificates?
Если это было просто:
- потому что парень, который начал писать, не знал правильного пути с головы.
- и вместо того, чтобы проводить много времени, исследуя правильный путь
- он просто что-то бросил.
- и просто для тестирования он жестко закодирован только одним подписывателем
- с полным намерением вернуться позже и зафиксировать его
- но код теперь работает
- и он продолжал жить без фиксации.
- и никто не хочет брать на себя ответственность за его нарушение.
- и никто не хочет тратить деньги, чтобы исправить это.
- и недостаточно клиентов жалуются, чтобы сделать его высокоприоритетным.
- и даже если было много людей, жалующихся, это всего лишь $99, чтобы купить Verisign
- так что не могли бы вы просто отпустить его и купить Verisign?
... это будет хорошо. Кроме того, я не верю в это. Я не считаю, что это был тестовый код, который был выпущен в производство. я понимаю, что это сознательное, конкретное решение, которое заставило их игнорировать других подписчиков. И что они делают и будут продолжать, только честь Verisign.
Но для жизни меня я не могу придумать причину.