ЭЦП, КриптоПро, Госуслуги и MacOS
Данная статья содержит инструкцию по настройке среды для работы с ЭЦП на Госуслугах на MacOS.
Полезно будет и тем, кто сталкивался с ошибками: "Сертификаты не найдены", "У вас нет действующих сертификатов".
Использовалось следующее ПО:
Браузер Chromium-Gost 133.0.6943.53 с предустановленными плагинами КриптоПро и Госуслуги (https://www.cryptopro.ru/products/chromium-gost)
КриптоПро 5.0.12998 (https://disk.skbkontur.ru/index.php/s/TsxJBwpQztHyf6Z)
Плагин Госуслуг для MacOS IFCPlugin.pkg 3.1.1 (https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr)
Файл конфигурации для плагина Госуслуг ifc.cfg (https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/272/0/vkhod-s-pomoshhju-ehlektronnojj-podpisi-n-portl-gosuslug-n-macos)
После установки ПО скопировать скачанный файл ifc.cfg в директорию:
/Library/Internet Plug-Ins/IFCPlugin.plugin/Contents
любым удобным способом, например, открыть эту папку в Finder:
Finder
пункт меню Переход
Переход к папке...
/Library/Internet Plug-Ins/IFCPlugin.plugin/Contents
и перетащить в неё с заменой скачанный файл ifc.cfg.
После этого проверьте работу плагина КриптоПро:
Если сертификат ЭЦП не установлен в личное хранилище, то плагин предложит это сделать.
После вышеперечисленных действий можно пробовать авторизоваться или подписывать документы в Госуслугах с помощью ЭЦП в браузере Chromium-GOST.
Если, вдруг, ссылка на файл конфигурации ifc.cfg перестанет работать, то его содержимое следующее (кодировка WIndows 1251):
log = {
level = "DEBUG";
}
config = {
cert_from_registry = "false";
set_user_pin = "false";
}
params =
(
{ name = "Криптопровайдер VipNet CSP";
alias = "VIPNet";
type = "capi";
provider_name = "Infotecs Cryptographic Service Provider";
provider_num = "2";
skip_pkcs11_list = "true";
},
{ name = "Криптопровайдер VipNet CSP";
alias = "VIPNet_linux";
type = "capi_linux";
provider_name = "Infotecs Cryptographic Service Provider";
provider_num = "2";
skip_pkcs11_list = "true";
},
{ name = "Криптопровайдер КриптоПро CSP";
alias = "CryptoPro";
type = "capi";
provider_name = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";
provider_num = "75";
skip_pkcs11_list = "false";
},
{ name = "CryptoPro CSP";
alias = "cprocsp";
type = "pkcs11";
alg = "gost2001";
model = "CPPKCS 3";
lib_mac = "/opt/cprocsp/lib/libcppkcs11.dylib";
},
{ name = "Криптопровайдер КриптоПро Рутокен CSP";
alias = "CryptoPro_Rutoken";
type = "capi";
provider_name = "GOST R 34.10-2001 Rutoken CSP";
provider_num = "75";
skip_pkcs11_list = "false";
},
{ name = "Криптопровайдер Signal-COM CSP";
alias = "SignalCom";
type = "capi";
provider_name = "Signal-COM CPGOST Cryptographic Provider";
provider_num = "75";
skip_pkcs11_list = "false";
},
{ name = "Криптопровайдер Signal-COM CSP";
alias = "SignalCom_2012_256";
type = "capi";
provider_name = "Signal-COM GOST R 34.10-2012 (256) Cryptographic Provider";
provider_num = "80";
skip_pkcs11_list = "false";
},
{ name = "Криптопровайдер Signal-COM CSP";
alias = "SignalCom_2012_512";
type = "capi";
provider_name = "Signal-COM GOST R 34.10-2012 (512) Cryptographic Provider";
provider_num = "81";
skip_pkcs11_list = "false";
},
{ name = "Криптопровайдер LISSI-CSP";
alias = "LISSI-CSP";
type = "capi";
provider_name = "LISSI-CSP";
provider_num = "75";
skip_pkcs11_list = "false";
},
{ name = "JaCarta Криптотокен";
alias = "JaCarta";
type = "pkcs11";
alg = "gost2001";
model = "eToken GOST,JaCarta GOST 2.0";
lib_win = "jcPKCS11-2.DLL";
lib_linux = "libjcPKCS11-2.so.2.4.0";
lib_mac = "jcPKCS11-2";
},
{ name = "Актив руТокен ЭЦП";
alias = "ruTokenECP";
type = "pkcs11";
alg = "gost2001";
model = "Rutoken ECP";
lib_win = "rtpkcs11ecp.dll";
lib_linux = "librtpkcs11ecp.so";
lib_mac = "librtpkcs11ecp.dylib";
}
);