2015-06-23 2 views
1

Я пытаюсь создать сертификат самостоятельно Подписать makecert Вот что я делаю:MakeCert: свидетельство расширения основных ограничений не наблюдается

makecert -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -cy authority 
-h 1 -a sha1 -sv "D:\TuyenTk CA.pvk" -r "D:\TuyenTk CA.cer" 


makecert -n "CN=TuyenTk" -ic "D:\TuyenTk CA.cer" -iv "D:\TuyenTk CA.pvk" 
-eku "1.3.6.1.5.5.7.3.3" -cy end -a sha1 -h 0 -sky exchange -pe "D:\TuyenTk.cer" 


pvk2pfx -pvk "D:\TuyenTk CA.pvk" -spc "D:\TuyenTk CA.cer" 
-pfx "D:\TuyenTk.pfx" -pi "myPassWord" 

Первая линия, это сделать самостоятельно знак CERT (CA сертификат). Во второй строке используется сертификат CA cert другого сертификата, а последний - файл pfx для подписи exe-файла.

Хотя все выше 3 команды сообщается успех, когда я дважды щелкните на TuyenTk CA.cer и TuyenTk.cer, в деталях вкладке окна сказать, что основных ограничений имеет решающее значение. Поэтому, когда я использую файл TuyenTk.pfx подписать мой файл ех, в цифровой вкладке Подписи, сертификат не действителен: свидетельство расширение основных ограничений не наблюдается

просмотреть детали CERT Перед установкой, и после того, как установите в доверенном корневом или личном месте хранилища сертификатов, я все еще вижу ошибку.

Как исправить эту проблему? Спасибо!

+0

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

ответ

0

Чтобы создать самостоятельно подписанный сертификат корневого ЦС, попробуйте следующие варианты:

makecert -r -pe -m 1200 -len 2048 -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv "D:\TuyenTk_CA.pvk" "D:\TuyenTk_CA.cer" 

Я оставил от «-h 1», чтобы дать вам неограниченную глубину подписания в основных ограничений; некоторые пакеты SSL не любят неограниченную длину пути, поэтому вы можете либо иметь слои ключей , либо, помещенные в «-h 5» или любое другое значение, которое, по вашему мнению, будет служить вашим потребностям. Выключатели Я добавил:

-pe    Make private key exportable 
    -m 1200   Make CA key valid for 100 years (1200 months) 
    -ss CA   This key goes into the CA certificate store 
    -sr CurrentUser Certificate store location 
    -sky signature Key type (use for signing) 

Я также добавил символ подчёркивания (вместо пробела) в названии; может не понадобиться, но мои файлы сертификатов не имеют пробелов (иногда эти утилиты могут быть нечетными).

При импорте сертификата CA убедитесь, что вы сделали это в физическом хранилище доверенных корневых центров сертификации \ локальном компьютере. Например, можно использовать это от администратора CMD подскажете:

certutil -addstore -v root "D:\TuyenTk_CA.cer" 

Эти шаги работал для меня на XP и работать сегодня на ОС Windows 7. Надеюсь, что это помогает!

  • DRAC
+0

Все еще есть ошибка. Не знаю, почему. Я использую Windows 8.1 Pro 32 бит – Sakura

+0

Можете ли вы опубликовать шаги, которые вы сделали, и результаты на каждом этапе? Например, создал ли сертификат CA? Могли ли вы установить его в свои доверенные корневые центры сертификации \ локальный компьютер? Какие параметры вы использовали для создания сертификата CA? Какие параметры/шаги вы предприняли для создания и подписания сертификата подписи кода? Как насчет подписания кода (вы использовали SignTool? Какие параметры ...?). – Drac

+0

Да, он успешно создается, и я могу установить его в Trusted Root \ Local Computer. Я копирую вашу команду, затем вставляю ее в командную строку, но удаляю '-ss' и' sr'. Затем я устанавливаю его вручную. Я вижу это в магазине сертификатов. Все хорошо, кроме «основных ограничений». Я могу использовать сертификат CA для подписания другого сертификата, но любой знак сертификата этим сертификатом CA также является предупреждением об основных ограничениях – Sakura

Смежные вопросы