| ||||
| ||||
Добрый день. У меня есть одна задача, с которой я, к сожалению, самостоятельно справиться не могу. Мне нужно подписать приложение сертификатом A. В свою очередь А удостоверен B, B - D. В итоге, при просмотре сертификата подписи сигнатуры в explorer я должен увидеть цепочку D B A Но, вот такая проблема: D - самоподписанный сертификат с разрешением на подпись сертификатов, B тоже имеет разрешение на подпись, но в этой цепочке сертификат В отображаеться с восклицательным знаком и показывает сообщение: This certification authority does not appear to be allowed to issue certificates or cannot be used as an end-entity certificate. Помогите, пожалуйста, решить данную проблему. Ещё дополнительный вопросик, насколько подходит для создания сертификатов утилита makecert.exe из Microsoft SDK и есть ли ей достойные альтернативы с более раширенными возможностями? | ||||
Ответы: | ||||
| ||||
А расширение "Основные ограничения" (Basic Constraints) с флагом СА у D есть? Подходит или нет - зависит от задачи. Обычно это плохое решение, лучше пользоваться службой сертификации MS. | ||||
| ||||
Я, вообще-то, пока хорошо не разбераюсь во всём этом. Да и Basic Constraints в сертификате я не видел. Сертификаты я генерировал с помощь Crypto4PKI, и, как мне кажеться, это не совсем подходящая утилита. В сертификате есть поле Key usage, которое имеет следующее значение: Digital Signature, Key Encipherment, Data Encipherment, Key Agreement, Certificate Signing, Off-line CRL Signing, CRL Signing (be 00) Как я понимаю Certificate Signing как раз для этого и подходит. | ||||
| ||||
Если расширения нет, то функция построения цепочек, которая используется в этом окне, не воспринимает его как сертификат центра. | ||||