How to install PFX certificate?
Okay, I have PFX certificate. I need to install it to my Ubuntu 19.04 to have access to other resource by Cisco. I received PFX certificate from my customer & I need to have connection to his servers for deploy apps. They mind all their contractors have Windows & than generate PFX certificates for them. I use Cisco AnyConnect Secure Mobitily Client to access its servers by VPN. How to do it?
What’s the PFX for? What Cisco resource needs this? We need more details to provide you an accurate answer.
So this PFX contains. what? A user certificate? A VPN certificate? We need more details to understand the use case for the PFX. PFX can contain a certificate, a cert authority cert, and a cert privkey for a user cert at most, or a whole chain of certificates embedded in it, so it’s still unclear what’s in the PFX and why it’s needed.
And this user certificate is to be used with websites and internal web-based admin panels and such? Or is this going to be utilized by something else such as scripts or specialized utilities? (I’ve written an answer that explains installing the cert within Chrome/Chromium and Firefox for now)
1 Answer 1
Per your comments, the PFX file contains a User Certificate and Private Key.
To install this is going to depend on what you are using to access the resources. Usually these certificates end up being used for SSL Client Auth on websites, in which case you will need to import the PFX file in your browser.
In Chrome/Chromium, you enter your «Settings» page, type in «Certificates» in the search bar, choose «Manage Certificates», and under the «Your Certificates» tab, hit «Import», select the PFX, and use the Import Password to import the PFX file. Chrome/Chromium will then be able to use your certificates. (HOWEVER you have to do this for each browser independently.)
In Firefox, open «Preferences», in the «Find in Preferences» search bar type in ‘Certificates’, then you’ll see a button that says «View Certificates». Click it to open Firefox’s Certificate Manager. Make sure you’re on the «Your Certificates» tab, and then click ‘Import’, find the PFX on disk, and use the PFX import password to authorize the import.
Note that you need to do this individually for each browser on-system, and this answer does NOT include all browsers in the universe in the answer — it only covers the most common three.
Как установить сертификат электронной подписи
Для работы электронной подписи в Системе необходимо, чтобы были установлены:
- на сервере — криптопровайдер, например, КриптоПро csp 4.0 (См. deploycryptopro )
- для браузера — плагин КриптоПро ЭП Browser plug-in (ссылка на скачивание)
Электронная подпись состоит из связки открытого (личный сертификат) и закрытого ключа шифрования (ключевой контейнер).
Открытый ключ необходим для проверки подлинности документа, а связанный с ним закрытый ключ — для зашифровки данных.
Система поддерживает два вида сертификатов:
- на основе стандартных алгоритмов (RSA, SHA-256/512 , …)
- на основе ГОСТ алгоритмов 2001 и 2012
Работа с сертификатами, в основе которых лежат стандартные алгоритмы, осуществляется внутренними средствами Системы. Для работы с ними достаточно установить контейнер закрытых ключей и связанный с ним сертификат в Систему.
Работа с сертификатами, в основе которых лежат ГОСТ алгоритмы осуществляется с помощью сервиса подписи (Grad.Signature.Service.jar — сервис, реализованный на java). Соответственно для возможности подписи, необходимо установить вышеуказанный сервис, а также контейнер закрытых ключей и связанный с ним сертификат.
Сервис подписи обязательно нужно перезапускать после любых действий с сертификатами. Например, при добавлении, удалении, изменении пароля контейнера.
Как настроить сертификат в Конфигураторе
Чтобы электронная подпись работала в Системе нужно указать в Конфигураторе:
- путь до нее в файловой системе,
- либо серийный номер сертификата.
Ниже указаны шаги, которые нужно выполнить, чтобы установить контейнеры и сертификаты и включить их в Систему.
Как установить контейнер закрытых ключей и сертификат под Linux (CentOS 7)
Как установить контейнер закрытых ключей и сертификат под Linux (CentOS 7)
Перед установкой проверьте, чтобы в Системе был установлен КриптоПро CSP и КриптоПро JCP.
Примечание
Исполняемые файлы КриптоПро находятся в папке /opt/cprocsp/bin/. В инструкции используются команды для 64-битной архитектуры, папка /opt/cprocsp/bin/amd64.
Установите ключевой контейнер
Скопируйте ключи (директорию с именем в формате 8.3) в директорию /var/opt/cprocsp/keys/имя_пользователя.
При этом необходимо проследить:
- владельцем файлов должен быть пользователь, в директории с именем которого расположен контейнер (от его имени будет осуществляться работа с ключами);
- на директорию с ключами выставлены права, разрешающие владельцу всё, другим пользователям — ничего;
- на файлы ключей выставлены права, разрешающие владельцу чтение и запись, другим пользователям – ничего.
Для проверки корректности установки ключевого контейнера можно выполнить команду:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
Пример правильного результата проверки:
Установите цепочку сертификатов, если сертификат отсутствует в контейнере
Скопируйте сертификаты (сертификат пользователя, сертификат промежуточного УЦ, сертификат головного УЦ – может быть разное количество промежуточных сертификатов, в зависимости от цепочки) в директорию /etc/pki/tls/certs.
Установите сертификаты:
- сертификат корневого УЦ:
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file /etc/pki/tls/certs/ИмяСертификатаКорневогоУЦ.cer
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file /etc/pki/tls/certs/gus_ca.cer
Пример правильного результата работы команды:
- сертификат промежуточных УЦ
/opt/cprocsp/bin/amd64/certmgr -inst -store uca -file /etc/pki/tls/certs/ИмяСертификатаПромежуточногоУЦ.cer
/opt/cprocsp/bin/amd64/certmgr -inst -store uca -file /etc/pki/tls/certs/mgis_ca.cer
Пример правильного результата работы команды:
- сертификат пользователя. Его необходимо привязать к закрытому ключу.
/opt/cprocsp/bin/amd64/certmgr -inst -file /etc/pki/tls/certs/ ИмяСертификата.cer -cont '\\.\ИмяСчитывателя\ИмяКонтейнера'
/opt/cprocsp/bin/amd64/certmgr -inst -file /etc/pki/tls/certs/mgis_2019.cer -cont '\\.\HDIMAGE\mgis_2019'
Пример правильного результата работы команды:
Проверьте связку закрытого ключа с сертификатом
/opt/cprocsp/bin/amd64/csptest -keyset -check -cont '\\.\ ИмяСчитывателя\ИмяКонтейнера'
/opt/cprocsp/bin/amd64/csptest -keyset -check -cont '\\.\HDIMAGE\mgis_2019'
Пример правильного результата работы команды:
- Перейдите в папку с дистрибутивами КриптоПро:cd ../CryptoPro/linux-amd64_deb;
- Установите дополнительный пакет (в зависимости от ОС одна из команд):
yum localinstall cprocsp-rsa-64-4.0.9963-5.x86_64.rpm dpkg -i cprocsp-rsa-64_4.0.9944-5_amd64.deb
Если пакет не будет установлен, то при установке pfx будет ошибка:
"Error: export in pfx failed"
/opt/cprocsp/bin/amd64/certmgr -install -pfx -file /home/user/GEMS/KMGIS.pfx -pin
Полезные команды для проверки сертификатов и лицензий
Вывод всех установленных сертификатов:
/opt/cprocsp/bin/amd64/certmgr -list
Просмотр перечня контейнеров закрытых ключей:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc 'старое имя' -contdest 'новое имя'
Перечень установленных корневых сертификатов удостоверяющих центров:
/opt/cprocsp/bin/amd64/certmgr -list -store uroot
Перечень установленных промежуточных сертификатов удостоверяющих центров:
/opt/cprocsp/bin/amd64/certmgr -list -store uca
Для просмотра информации о лицензии КриптоПро:
/cpconfig -license -view (Утилита cpconfig находится в /opt/cprocsp/sbin/)
Установка лицензии КриптоПро:
/cpconfig -license -set 4040L-00000-00000-B50RQ-TQ1YP
Для просмотра информации о лицензии JavaCSP:
java -classpath JCSP.jar ru.CryptoPro.JCSP.JCSPLicense
Для активации лицензии JavaCsp:
java ru.CryptoPro.JCSP.JCSPLicense -serial "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" -company "NotInsrt" -store
Чтобы удалить сертификат выполните:
/opt/cprocsp/bin/amd64/certmgr -delete -dn L=Казань
Для просмотра версии JavaCSP:
java ru.CryptoPro.JCP.tools.Check -all
Если данная команда не выдаёт ответ, то JavaCSP настроена на неверную Java. Вероятно, несколько версий java установлено на сервер.
Для просмотра версии Крипто Про:
/opt/cprocsp/bin/amd64/csptestf -enum -info
Установка сертификатов из контейнеров закрытых ключей:
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov
© Copyright 2020-2023, Gems Development. Связаться с технической поддержкой можно по тел.: 8-800-775-5208, эл.почте: support@gemsdev.ru.