
Según y , en 2019 se emitirán en Rusia 4,6 millones de certificados de firma electrónica cualificada (CSP) que cumplen con los requisitos de la Ley 63-FZ. Resulta que de 8 millones de IP y OOO registrados, uno de cada dos empresarios utiliza firma electrónica. Además de los CSP para EGAIS y CSP en la nube para la presentación de informes, que son emitidos por bancos y servicios contables, los CSP universales en tokens protegidos son de especial interés. Estos certificados permiten iniciar sesión en portales gubernamentales y firmar cualquier documento, dándoles validez legal.
Gracias al certificado CSP en un token USB, se puede celebrar un contrato de forma remota con un socio o empleado a distancia, enviar documentos a la corte; registrar una caja registradora online, regular deudas fiscales y presentar una declaración en el área personal en nalog.ru; averiguar sobre deudas y próximas auditorías en los Servicios Estatales.
El manual presentado a continuación ayudará a trabajar con CSP en macOS – sin necesidad de estudiar los foros de CryptoPro ni instalar una máquina virtual con Windows.
Contenido
Lo que necesitas para trabajar con CSP en macOS:
Instalamos y configuramos CSP en macOS
- Instalamos CryptoPro CSP
- Instalamos los controladores de Rutoken
- Instalamos los certificados
3.1. Eliminamos todos los certificados antiguos de GOST
3.2. Instalamos los certificados raíz
3.3. Descargamos los certificados de la autoridad certificadora
3.4. Instalamos el certificado con Rutoken - Instalamos el navegador especial Chromium-GOST
- Instalamos las extensiones del navegador
5.1 Plugin de navegador de firma electrónica CryptoPro
5.2. Plugin para Servicios Estatales
5.3. Configuramos el plugin para Servicios Estatales
5.4. Activamos las extensiones
5.5. Configuramos la extensión del navegador de firma electrónica CryptoPro - Verificamos que todo funcione
6.1. Entramos en la página de prueba de CryptoPro
6.2. Accedemos a la Cuenta Personal en nalog.ru
6.3. Entramos en los Servicios Estatales - Qué hacer si dejó de funcionar
Cambio del PIN del contenedor
- Averiguamos el nombre del contenedor CSP
- Cambio de PIN mediante comando en terminal
Firmar archivos en macOS
- Averiguamos el hash del certificado CSP
- Firmar archivo mediante comando en terminal
- Instalación del script de Apple Automator
Verificar la firma en el documento
Toda la información a continuación se ha obtenido de fuentes autorizadas (CryptoPro y , , , ), y se sugiere descargar el software desde sitios de confianza. El autor es un consultor independiente y no está asociado con ninguna de las empresas mencionadas. Al seguir esta guía, asumes toda la responsabilidad por cualquier acción y consecuencia.
Lo que necesitas para trabajar con CSP en macOS:
- CPE en la unidad USB Rutoken Lite o Rutoken ECP
- contenedor criptográfico en formato CryptoPro
- con licencia incorporada para CryptoPro CSP
Los dispositivos eToken y JaCarta en combinación con CryptoPro no son compatibles con macOS. El dispositivo Rutoken Lite es la mejor opción, cuesta entre 500 y 1000 rub., funciona rápidamente y permite almacenar hasta 15 claves.
Los proveedores de criptografía VipNet, Signal-COM y LISSI no son compatibles con macOS. No es posible convertir los contenedores. CryptoPro es la mejor opción, el costo del certificado debe ser alrededor de 1300 rub. para emprendedores individuales y 1600 rub. para personas jurídicas.
Normalmente, la licencia anual de CryptoPro CSP ya está incluida en el certificado y muchos CA la proporcionan de forma gratuita. Si no es así, es necesario comprar y activar una licencia perpetua para CryptoPro CSP estrictamente de la versión 4, cuyo costo es de 2700 rub. La versión 5 de CryptoPro CSP no funciona actualmente en macOS.
Instalamos y configuramos CSP en macOS
Cosas evidentes
- todos los archivos descargados se almacenan en el directorio predeterminado: ~/Downloads/;
- en todos los instaladores no cambiamos nada, dejamos todo por defecto;
- si macOS muestra una advertencia de que el software que se está ejecutando es de un desarrollador no identificado, se necesita confirmar el inicio en las preferencias del sistema: Preferencias del Sistema —> Seguridad y privacidad —> Abrir de todos modos;
- si macOS solicita la contraseña del usuario y permisos para controlar la computadora, se debe ingresar la contraseña y aceptar todo.
1. Instalamos CryptoPro CSP
en el sitio de CryptoPro y desde descargamos e instalamos la versión CryptoPro CSP 4.0 R4 para macOS – .
2. Instalamos los controladores de Rutoken
En el sitio se indica que esto es opcional, pero es mejor instalarlo. Desde el sitio de Rutoken descargamos e instalamos Módulo de soporte para Llave de Cadena (KeyChain) – .
Luego conectamos el token usb, abrimos la terminal y ejecutamos el comando:
/opt/cprocsp/bin/csptest -card -enum -vLa respuesta debe ser:
Aktiv Rutoken…
Tarjeta presente…
[ErrorCode: 0x00000000]
3. Instalamos los certificados
3.1. Eliminamos todos los certificados antiguos de GOST
Si anteriormente se hicieron intentos de ejecutar CPE en macOS, es necesario limpiar todos los certificados instalados anteriormente. Los siguientes comandos en la terminal eliminarán únicamente los certificados de CryptoPro y no afectarán los certificados normales en Keychain en macOS.
sudo /opt/cprocsp/bin/certmgr -delete -all -store mrootsudo /opt/cprocsp/bin/certmgr -delete -all -store uroot/opt/cprocsp/bin/certmgr -delete -allLa respuesta de cada comando debe ser:
No hay certificado que coincida con los criterios
o
Eliminación completa
3.2. Instalamos los certificados raíz
Los certificados raíz son comunes para todos los certificados emitidos por cualquier autoridad certificadora. Se descargan desde la Agencia Federal de Comunicaciones:
Instale con los comandos en el terminal:
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/4BC6DC14D97010C41A26E058AD851F81C842415A.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/8CAE88BBFD404A7A53630864F9033606E1DC45E2.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/0408435EB90E5C8796A160E69E4BFAC453435D1D.cerCada comando debe devolver:
Instalando:
…
[ErrorCode: 0x00000000]
3.3. Descargamos los certificados de la autoridad certificadora
A continuación, debe instalar los certificados de la autoridad certificadora que utilizó para emitir el certificado digital. Por lo general, los certificados raíz de cada AC se encuentran en su sitio en la sección de descargas.
Alternativamente, los certificados de cualquier AC se pueden descargar desde . Para esto, en el formulario de búsqueda, necesita encontrar la AC por su nombre, ir a la página con los certificados y descargar todos los certificados válidos es decir, aquellos cuyos campos ‘Válido’ la segunda fecha aún no ha llegado. Descargue a través del enlace en el campo ‘Huella digital’.
Capturas de pantalla


Por ejemplo, para la AC Corus-Consulting: debe descargar 4 certificados desde :
Los certificados descargados de la AC se instalan con los comandos desde el terminal:
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/B9F1D3F78971D48C34AA73786CDCD138477FEE3F.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/55EC48193B6716D38E80BD9D1D2D827BC8A07DE3.cersudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/15EB064ABCB96C5AFCE22B9FEA52A1964637D101.cerdonde después de ~/Downloads/ vienen los nombres de los archivos descargados, y serán diferentes para cada AC.
Cada comando debe devolver:
Instalando:
…
[ErrorCode: 0x00000000]
3.4. Instalamos el certificado con Rutoken
Comando en el terminal:
/opt/cprocsp/bin/csptestf -absorb -certsEl comando debe devolver:
Aceptar.
[ErrorCode: 0x00000000]
4. Instalamos el navegador especial Chromium-GOST
Para trabajar con los portales gubernamentales, se requiere una versión especial del navegador Chromium - Chromium-GOST. El código fuente del proyecto es abierto, el enlace se proporciona en el sitio de KryptoPro CryptoFox Yandex.Browser y no son adecuados para trabajar con portales gubernamentales en macOS. Hay que tener en cuenta que en algunas versiones de Chromium-GOST, el gabinete personal en nalog.ru puede congelarse o incluso el scroll deja de funcionar, por lo que se sugiere la versión probada 71.0.3578.98 Descargamos y descomprimimos el archivo, instalamos el navegador copiando o arrastrando y soltando en la carpeta Aplicaciones. Después de la instalación, cerramos forzosamente Chromium y mientras no lo abrimos, trabajamos desde Safari. – .
killall Chromium-Gost
5. Instalamos extensiones para el navegadorCon
5.1 Plugin de navegador de firma electrónica CryptoPro
Con en el sitio de CryptoPro descargamos e instalamos CryptoPro EDS Browser plug-in versión 2.0 para usuarios – .
5.2. Plugin para Servicios Estatales
Con en el portal de Servicios Públicos descargamos e instalamos Plugin para trabajar con el portal de servicios públicos (versión para macOS) – .
5.3. Configuramos el plugin para Servicios Estatales
Descargamos el archivo de configuración correcto para la extensión de Servicios Públicos desde el sitio de CryptoPro – .
Ejecutamos comandos en el terminal:
sudo rm /Library/Internet Plug-Ins/IFCPlugin.plugin/Contents/ifc.cfgsudo cp ~/Downloads/ifc.cfg /Library/Internet Plug-Ins/IFCPlugin.plugin/Contentssudo cp /Library/Google/Chrome/NationalMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application Support/Chromium/NationalMessagingHosts5.4. Activamos las extensiones
Abrimos el navegador Chromium-Gost y en la barra de dirección escribimos:
chrome://extensions/Activamos ambas extensiones instaladas:
- CryptoPro Extension para CAdES Browser Plug-in
- Extensión para el plugin de Servicios Públicos
Captura de pantalla

5.5. Configuramos la extensión del navegador de firma electrónica CryptoPro
En la barra de dirección de Chromium-Gost escribimos:
/etc/opt/cprocsp/trusted_sites.htmlEn la página que aparece, agregamos uno a uno los sitios a la lista de nodos de confianza:
https://*.cryptopro.ru
https://*.nalog.ru
https://*.gosuslugi.ruHacemos clic en “Guardar”. Debería aparecer un banner verde:
La lista de nodos de confianza se ha guardado correctamente.
Captura de pantalla

6. Comprobamos que todo funcione
6.1. Entramos en la página de prueba de CryptoPro
En la barra de dirección de Chromium-Gost escribimos:
https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.htmlDebería mostrarse “Plugin cargado”, y en la lista siguiente debería estar su certificado.
Seleccionamos el certificado de la lista y hacemos clic en “Firmar”. Se pedirá el PIN del certificado. En consecuencia, debería mostrarse
La firma se ha formado con éxito
Captura de pantalla

6.2. Accedemos a la Cuenta Personal en nalog.ru
Puede que no se pueda acceder a los enlaces del sitio nalog.ru, ya que no se pasarán las verificaciones. Deben accederse por enlaces directos:
- Cuenta personal IP:
- Cuenta personal JL:
Captura de pantalla

6.3. Entramos en los Servicios Estatales
Al iniciar sesión, seleccionamos “Entrar con firma electrónica”. En la lista que aparece de “Selección de certificado de clave de comprobación de firma electrónica” se mostrarán todos los certificados, incluidos los raíz y los de CA, se debe elegir el suyo con el token USB e ingresar el PIN.
Captura de pantalla


7. Qué hacer si ha dejado de funcionar
Reconectamos el token USB y verificamos que sea visible con el comando en el terminal:
sudo /opt/cprocsp/bin/csptest -card -enum -vLimpiamos la caché del navegador durante todo el tiempo, para lo cual en la barra de dirección de Chromium-Gost escribimos:
chrome://settings/clearBrowserDataReinstalamos el certificado de EDS usando el comando en el terminal:
/opt/cprocsp/bin/csptestf -absorb -certs
Cambio del PIN del contenedor
El PIN de usuario en Rutoken por defecto 12345678, y no se debe dejar de esta manera. Los requisitos para el PIN de Rutoken: máximo 16 caracteres, puede contener letras latinas y números.
1. Averiguamos el nombre del contenedor de EDS
En el usb, así como en otros almacenes, pueden almacenarse varios certificados, y es necesario elegir el correcto. Con el usb insertado, obtenemos una lista de todos los contenedores en el sistema con el comando en terminal:
/opt/cprocsp/bin/csptest -keyset -enum_cont -fqcn -verifycontextEl comando debe devolver al menos 1 contenedor y retornar
[ErrorCode: 0x00000000]
El contenedor que necesitamos tiene el siguiente formato
.Aktiv Rutoken liteXXXXXXXX
Si se muestran varios contenedores, significa que en el token hay varios certificados registrados, y usted sabe cuál necesita. El valor XXXXXXXX después de la barra debe ser copiado y pegado en el comando a continuación.
2. Cambiar el PIN con el comando desde el terminal
/opt/cprocsp/bin/csptest -passwd -qchange -container "XXXXXXXX"donde XXXXXXXX – el nombre del contenedor, obtenido en el paso 1 (obligatorio entre comillas).
Aparecerá un diálogo de CryptoPro solicitando el antiguo PIN para acceder al certificado, seguido de otro diálogo para ingresar el nuevo PIN. Listo.
Captura de pantalla

Firmar archivos en macOS
En macOS, los archivos se pueden firmar en el software (el costo de la licencia es 2500= rublos), o con un simple comando desde el terminal – gratis.
1. Determinar el hash del certificado KEP
En el token y en otros almacenes puede haber varios certificados. Es necesario identificar sin ambigüedades el que se usará para firmar documentos a partir de ahora. Esto se hace una vez.
El token debe estar insertado. Obtenemos la lista de certificados en los almacenes con el comando del terminal:
/opt/cprocsp/bin/certmgr -listEl comando debe devolver al menos 1 certificado de tipo:
Certmgr 1.1 © «Crypto-Pro», 2007-2018.
programa para gestionar certificados, CRLs y depósitos
= = = = = = = = = = = = = = = = = = = =
1——-
Emisor: E=help@esphere.ru,… CN=ООО КОРУС Консалтинг СНГ…
Sujeto: E=sergzah@gmail.com,… CN=Захаров Сергей Анатольевич…
Número de serie: 0x0000000000000000000000000000000000
SHA1 Hash: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
…
Contenedor: SCARDrutoken_lt_00000000 000 000
…
= = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]
El certificado que necesitamos debe tener un valor en el parámetro Contenedor que luzca como SCARDrutoken…. Si hay varios certificados con estos valores, significa que en el token están registrados varios certificados, y usted sabe cuál necesita. El valor del parámetro SHA1 Hash (40 caracteres) debe ser copiado y pegado en el comando a continuación.
2. Firmar un archivo con el comando desde el terminal
En el terminal, navegamos al directorio con el archivo a firmar y ejecutamos el comando:
/opt/cprocsp/bin/cryptcp -signf -detach -cert -der -strict -thumbprint ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ FILEdonde XXXX… – hash del certificado, obtenido en el paso 1, y FILE – nombre del archivo a firmar (con todas las extensiones, pero sin la ruta).
El comando debe devolver:
Se crea un mensaje firmado.
[ErrorCode: 0x00000000]
Se creará un archivo de firma electrónica con la extensión *.sgn – esta es una firma separada en formato CMS con codificación DER.
3. Instalación del Script de Apple Automator
Para no tener que trabajar con la terminal cada vez, se puede instalar una vez el Script de Automator, con el cual se podrán firmar documentos desde el menú contextual del Finder. Para ello, descargamos el archivo comprimido – .
- Descomprimimos el archivo ‘Sign with CryptoPro.zip’
- Iniciamos Automator
- Buscamos y abrimos el archivo descomprimido ‘Sign with CryptoPro.workflow’
- En el bloque Run Shell Script cambiamos el texto XXXXXXXXXXXXXXXXXXXXXXXXXX al valor del parámetro SHA1 Hash certificado KЭP, obtenido anteriormente.
- Guardamos el script: ⌘Command + S
- Ejecutamos el archivo ‘Sign with CryptoPro.workflow’ y confirmamos la instalación.
- Vamos a System Preferences —> Extensions —> Finder y verificamos que Sign with CryptoPro la acción rápida está marcada.
- En Finder, llamamos al menú contextual de cualquier archivo, y en la sección Quick Actions y/o Services elegimos la opción Sign with CryptoPro
- En el cuadro de diálogo que aparece, CryptoPro introduce el PIN del usuario del KЭP
- En el directorio actual aparecerá un archivo con la extensión *.sgn – firma separada en formato CMS con codificación DER.
Capturas de pantalla
Ventana de Apple Automator:

Preferencias del Sistema:

Menú contextual del Finder:

Verificar la firma en el documento
Si el contenido del documento no contiene secretos ni misterios, es más fácil utilizar el servicio web en el portal de Servicios Públicos – . Así se puede hacer una captura de pantalla de un recurso autorizado y estar seguro de que la firma está bien.
Capturas de pantalla


Fuente: habr.com
