Установите сертификат PKCS # 12 в firefox из командной строки

9816
Derek Ekins

Я пытаюсь использовать certutil для добавления сертификата клиента в базу данных Firefox: цель этого сертификата - аутентификация на сервере - сервер запрашивает учетные данные, этот сертификат содержит учетные данные.

certutil -A -n "My Certificate" -d /myfirefoxprofile/ -t "CT,," -a -i /mycertificate.pfx 

Однако это дает мне ошибку:

certutil: could not obtain certificate from file: security library: improperly formatted DER-encoded message. 

Я делаю что-то явно неправильно?

Это на Ubuntu 10.10

5
Почему бы не импортировать сертификат с помощью Firefox GUI? harrymc 13 лет назад 0
Я должен был решить эту проблему раньше ... гораздо проще потребовать от пользователя запустить скрипт генерации и импорта сертификата (нажмите здесь или связать его в установщике), чтобы идентифицировать себя в веб-приложении, чем иметь 10 + нажмите 2 страницы установочного документа со скриншотами RobotHumans 13 лет назад 0

2 ответа на вопрос

4
RobotHumans

Похоже, вам нужно конвертировать направления PFX в PEM ... с помощью переключателей openssl здесь: http://support.citrix.com/article/CTX106028

чтобы быть ясным, как, очевидно, как-то я запутался

преобразуйте из pfx в pem, затем снова запустите команду импорта с новым файлом (edit: и измененные параметры ниже). мне кажется, что импорт сертификата firefox задыхается от типа файла pfx (edit: и соответствующие параметры импорта не были указаны). Связанные направления предназначены не для импорта Firefox, а для конвертации сертификатов.

дополнительное редактирование после редактирования вопроса:

-t нужна опция u для использования в качестве сертификата клиента. флагу -u нужна опция C ... флаги certutil описаны здесь: http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

Вы также можете посмотреть здесь: http://www.phocean.net/2008/11/16/how-to-stop-firefox-from-prompting-for-the-client-certificate.html,
поскольку браузер может подсказать по использованию сертификата

certutil -A -n "My Certificate" -d / myfirefoxprofile / -t "CTu ,," -u "c" -a -i /mycertificate.pem

должен сделать это

Как это помогает с добавлением сертификата в Firefox? Derek Ekins 13 лет назад 0
см отредактированный ответ RobotHumans 13 лет назад 0
Когда я импортирую файл pem, который был сгенерирован, сертификат отображается как полномочие, но НЕ как сертификат, который можно использовать для идентификации меня. Derek Ekins 13 лет назад 0
что именно вы пытаетесь сделать ... я думал, что вы пытаетесь добавить свой сертификат в качестве центра сертификации, чтобы вы могли заставить firefox доверять дополнительным сайтам самозаверяющие ключи, уточните вопрос, плз RobotHumans 13 лет назад 0
Обновленный вопрос Derek Ekins 13 лет назад 0
обновленный ответ также. по умолчанию сертификаты импортируются как ЦС. Вы должны сообщить инструменту, что хотите использовать его для других целей. RobotHumans 13 лет назад 0
Это все еще не работало :( - certutil: не удалось получить сертификат из файла: библиотека безопасности: недопустимые аргументы. Я попытался весь процесс с нуля снова безуспешно Derek Ekins 13 лет назад 0
0
schmudu

Вот как я импортировал сертификат клиента в пустой профиль Firefox:

# convert pem and key file into a pkcs12 openssl pkcs12 -export -in /path/my-cert.pem -inkey /path/my-cert.key -out /tmp/my-cert.p12   # create empty directory mkdir /tmp/empty_profile  # populate dir with certificate databases certutil -N -d sql:/tmp/empty_profile  # import p12 file into database pk12util -d sql:/tmp/empty_profile -i /tmp/mycert.p12 -n my-cert-nickname