Firma electrónica cualificada en macOS

Firma electrónica cualificada en macOS

Según RBC y Tensor, 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

  1. Instalamos CryptoPro CSP
  2. Instalamos los controladores de Rutoken
  3. 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
  4. Instalamos el navegador especial Chromium-GOST
  5. 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
  6. 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
  7. Qué hacer si dejó de funcionar

Cambio del PIN del contenedor

  1. Averiguamos el nombre del contenedor CSP
  2. Cambio de PIN mediante comando en terminal

Firmar archivos en macOS

  1. Averiguamos el hash del certificado CSP
  2. Firmar archivo mediante comando en terminal
  3. 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 #1 y #2, Rutoken, Korus-Consulting, UFO del Ministerio de Comunicaciones), 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:

  1. CPE en la unidad USB Rutoken Lite o Rutoken ECP
  2. contenedor criptográfico en formato CryptoPro
  3. 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

Nos registramos en el sitio de CryptoPro y desde la página de descargas descargamos e instalamos la versión CryptoPro CSP 4.0 R4 para macOS – descargar.

2. Instalamos los controladores de Rutoken

En el sitio se indica que esto es opcional, pero es mejor instalarlo. Desde la página de descargas el sitio de Rutoken descargamos e instalamos Módulo de soporte para Llave de Cadena (KeyChain) – descargar.

Luego conectamos el token usb, abrimos la terminal y ejecutamos el comando:

/opt/cprocsp/bin/csptest -card -enum -v

La 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 mroot

sudo /opt/cprocsp/bin/certmgr -delete -all -store uroot

/opt/cprocsp/bin/certmgr -delete -all

La 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 página de descargas la Agencia Federal de Comunicaciones:

Instale con los comandos en el terminal:

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/4BC6DC14D97010C41A26E058AD851F81C842415A.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/8CAE88BBFD404A7A53630864F9033606E1DC45E2.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/0408435EB90E5C8796A160E69E4BFAC453435D1D.cer

Cada 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 el sitio de la Agencia Federal de Comunicaciones. 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

Firma electrónica cualificada en macOS

Firma electrónica cualificada en macOS

Por ejemplo, para la AC Corus-Consulting: debe descargar 4 certificados desde la página de descargas:

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.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/55EC48193B6716D38E80BD9D1D2D827BC8A07DE3.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/15EB064ABCB96C5AFCE22B9FEA52A1964637D101.cer

donde 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 -certs

El 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 repositorio en GitHub el sitio de KryptoPro . Por experiencia, otros navegadores comoCryptoFox 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. – descargar.

killall Chromium-Gost

5. Instalamos extensiones para el navegador

Con

5.1 Plugin de navegador de firma electrónica CryptoPro

Con la página de descargas en el sitio de CryptoPro descargamos e instalamos CryptoPro EDS Browser plug-in versión 2.0 para usuarios – descargar.

5.2. Plugin para Servicios Estatales

Con la página de descargas en el portal de Servicios Públicos descargamos e instalamos Plugin para trabajar con el portal de servicios públicos (versión para macOS) – descargar.

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 – descargar.

Ejecutamos comandos en el terminal:

sudo rm /Library/Internet Plug-Ins/IFCPlugin.plugin/Contents/ifc.cfg

sudo cp ~/Downloads/ifc.cfg /Library/Internet Plug-Ins/IFCPlugin.plugin/Contents

sudo cp /Library/Google/Chrome/NationalMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application Support/Chromium/NationalMessagingHosts

5.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

Firma electrónica cualificada en macOS

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.html

En 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.ru

Hacemos clic en “Guardar”. Debería aparecer un banner verde:

La lista de nodos de confianza se ha guardado correctamente.

Captura de pantalla

Firma electrónica cualificada en macOS

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.html

Deberí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

Firma electrónica cualificada en macOS

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: https://lkipgost.nalog.ru/lk
  • Cuenta personal JL: https://lkul.nalog.ru

Captura de pantalla

Firma electrónica cualificada en macOS

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

Firma electrónica cualificada en macOS

Firma electrónica cualificada en macOS

7. Qué hacer si ha dejado de funcionar

  1. Reconectamos el token USB y verificamos que sea visible con el comando en el terminal:

    sudo /opt/cprocsp/bin/csptest -card -enum -v

  2. Limpiamos la caché del navegador durante todo el tiempo, para lo cual en la barra de dirección de Chromium-Gost escribimos:

    chrome://settings/clearBrowserData

  3. Reinstalamos 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 -verifycontext

El 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

Firma electrónica cualificada en macOS

Firmar archivos en macOS

En macOS, los archivos se pueden firmar en el software CryptoArm (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 -list

El 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 ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ FILE

donde 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 – descargar.

  1. Descomprimimos el archivo ‘Sign with CryptoPro.zip’
  2. Iniciamos Automator
  3. Buscamos y abrimos el archivo descomprimido ‘Sign with CryptoPro.workflow’
  4. En el bloque Run Shell Script cambiamos el texto XXXXXXXXXXXXXXXXXXXXXXXXXX al valor del parámetro SHA1 Hash certificado KЭP, obtenido anteriormente.
  5. Guardamos el script: ⌘Command + S
  6. Ejecutamos el archivo ‘Sign with CryptoPro.workflow’ y confirmamos la instalación.
  7. Vamos a System Preferences —> Extensions —> Finder y verificamos que Sign with CryptoPro la acción rápida está marcada.
  8. 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
  9. En el cuadro de diálogo que aparece, CryptoPro introduce el PIN del usuario del KЭP
  10. 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:
Firma electrónica cualificada en macOS

Preferencias del Sistema:
Firma electrónica cualificada en macOS

Menú contextual del Finder:

Firma electrónica cualificada en macOS

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 – https://www.gosuslugi.ru/pgu/eds. Así se puede hacer una captura de pantalla de un recurso autorizado y estar seguro de que la firma está bien.

Capturas de pantalla

Firma electrónica cualificada en macOS

Firma electrónica cualificada en macOS

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster