Firma calificada de MacOS


Según RBC y Tensor , en 2019, se emitirán 4.6 millones de certificados de firmas electrónicas calificadas (CEP) en Rusia que cumplen con los requisitos de 63-FZ. Resulta que de los 8 millones de IP y LLC registradas, cada segundo empresario utiliza la firma electrónica. Además de los CEP para EGAIS y los CEP basados ​​en la nube para presentar informes emitidos por bancos y servicios de contabilidad, los CEP universales con tokens seguros son de particular interés. Dichos certificados le permiten iniciar sesión en portales estatales y firmar cualquier documento, haciéndolos legalmente significativos.


Gracias al certificado CEP en un token USB, puede concluir remotamente un contrato con una contraparte o un empleado remoto, enviar documentos a la corte; registre una caja registradora en línea, liquide los atrasos de impuestos y presente una declaración en su cuenta en nalog.ru; Infórmese sobre las deudas y los próximos controles de los servicios públicos.


El siguiente manual lo ayudará a trabajar con CEP para macOS , sin estudiar los foros de CryptoPro e instalar una máquina virtual con Windows.


Contenido

Lo que necesita para trabajar con CEP para macOS:


Instalar y configurar CEP para macOS


  1. Instalar CryptoPro CSP
  2. Instalar controladores Rootoken
  3. Instalar certificados
    3.1. Eliminamos todos los certificados GOST antiguos
    3.2. Instalar certificados raíz
    3.3. Descargar certificados del centro de certificación
    3.4. Instale el certificado con Rutoken
  4. Instale el navegador especial Chromium-GOST
  5. Instalar extensiones de navegador
    5.1 Complemento del navegador CryptoPro EDS
    5.2. Complemento para servicios gubernamentales
    5.3. Configurar un complemento para servicios públicos
    5.4. Activar extensiones
    5.5. Configuramos la extensión CryptoPro EDS Browser plug-in
  6. Comprueba que todo funciona.
    6.1. Vamos a la página de prueba CryptoPro
    6.2. Entramos en la cuenta personal en nalog.ru
    6.3. Vamos a servicios publicos
  7. Qué hacer si deja de funcionar

Cambiar PIN del contenedor


  1. Descubrimos el nombre del contenedor CEP
  2. Cambiar comando PIN desde terminal

Firmando archivos en macOS


  1. Descubra el hash del certificado CEP
  2. Firmar un archivo con un comando desde la terminal
  3. Instalar Apple Automator Script

Verifique la firma en el documento


Toda la información a continuación se obtiene de fuentes acreditadas (CryptoPro # 1 , # 2 y # 3 , Rutoken , Corus-Consulting , Ministerio de Comunicaciones del Distrito Federal de los Urales ), y se propone descargar software de sitios confiables. El autor es un consultor independiente y no está afiliado a ninguna de las compañías mencionadas. Siguiendo estas instrucciones, usted asume toda la responsabilidad por cualquier acción y consecuencia.


Lo que necesita para trabajar con CEP para macOS:


  1. CEP en token USB Rutoken Lite o Rutoken EDS
  2. Cryptocontainer en formato CryptoPro
  3. con licencia incorporada para CryptoPro CSP
  4. el certificado público debe almacenarse en el contenedor de clave privada

Los medios EToken y JaCarta junto con CryptoPro para macOS no son compatibles. Carrier Rutoken Lite es la mejor opción, cuesta 500..1000 = rublos, funciona de manera inteligente y le permite almacenar hasta 15 llaves.


Los proveedores criptográficos VipNet, Signal-COM y LISSI no son compatibles con macOS. Convertir contenedores no funciona. CryptoPro es la mejor opción, el costo del certificado debe ser de aproximadamente 1300 = rublos. para SP y 1600 = frotar. por Yul.


Por lo general, la licencia anual para CryptoPro CSP ya está conectada al certificado y muchas AC se proporcionan de forma gratuita. Si esto no es así, debe comprar y activar una licencia perpetua para CryptoPro CSP estrictamente versión 4 por valor de 2700 =. CryptoPro CSP versión 5 para macOS no funciona actualmente.


Por lo general, un certificado público se almacena en un contenedor de clave privada, pero esto debe aclararse al emitir el CEP y solicitar que se haga según sea necesario. Si no funciona, puede importar la clave pública en el contenedor cerrado usted mismo usando CryptoPro CSP para Windows.


Instalar y configurar CEP para macOS


Cosas obvias
  • todos los archivos descargados se descargan en el directorio predeterminado: ~ / Downloads /;
  • no cambiamos nada en todos los instaladores, dejamos todo por defecto;
  • Si macOS muestra una advertencia de que el software que se inicia es de un desarrollador desinstalado, debe confirmar el inicio en la configuración del sistema: Preferencias del sistema -> Seguridad y privacidad -> Abrir de todos modos ;
  • Si macOS solicita una contraseña de usuario y un permiso para controlar la computadora, debe ingresar una contraseña y aceptar todo.

1. Instalar CryptoPro CSP


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


2. Instale los controladores Rootoken


El sitio dice que es opcional, pero es mejor entregarlo. Desde la página de descarga en el sitio web de Rutoken, descargue e instale el Módulo de soporte de KeyChain - descargar .


A continuación, conecte el token usb, ejecute el terminal y ejecute el comando:


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

La respuesta debería ser:


Aktiv Rutoken ...
Tarjeta presente ...
[Código de error: 0x00000000]

3. Instalar certificados


3.1. Eliminamos todos los certificados GOST antiguos


Si anteriormente hubo intentos de ejecutar CEP en macOS, debe limpiar todos los certificados instalados previamente. Estos comandos en la terminal solo eliminarán los certificados CryptoPro y no afectarán a los certificados ordinarios de 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. Instalar certificados raíz


Los certificados raíz son comunes a todos los CEP emitidos por cualquier autoridad de certificación. Descargue desde la página de descargas del Ministerio de Comunicaciones del Distrito Federal de los Urales :



Instale los siguientes comandos en la 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 equipo debe devolver:


Instalando:
...
[Código de error: 0x00000000]

3.3. Descargar certificados del centro de certificación


A continuación, debe instalar los certificados de la autoridad de certificación donde emitió el CEP. Por lo general, los certificados raíz de cada CA se encuentran en su sitio web en la sección de descargas.


Alternativamente, los certificados de cualquier CA pueden descargarse del sitio web del Distrito Federal de los Urales del Ministerio de Comunicaciones . Para hacer esto, en el formulario de búsqueda, debe buscar la CA por nombre, ir a la página con certificados y descargar todos los certificados válidos , es decir, aquellos cuya segunda fecha aún no ha llegado al campo 'Válido' . Descargue el enlace del campo 'Impresión' .


Capturas de pantalla



En el ejemplo de CA Corus Consulting: debe descargar 4 certificados de la página de descarga :



Instalamos los certificados de CA descargados con los comandos del 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 / son los nombres de los archivos descargados, para cada CA serán diferentes.


Cada equipo debe devolver:


Instalando:
...
[Código de error: 0x00000000]

3.4. Instale el certificado con Rutoken


Comando en terminal:


 /opt/cprocsp/bin/csptestf -absorb -certs 

El equipo debe devolver:


Ok
[Código de error: 0x00000000]

3.5. Configure CryptoPro para trabajar con certificados GOST R 34.10-2012


Para funcionar correctamente en nalog.ru con certificados emitidos desde 2019, las instrucciones en el sitio web de CryptoPro recomiendan:


Comandos en terminal:


 sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.1!3' -add string 'Name' 'GOST R 34.10-2012 256 bit' 

 sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.2!3' -add string 'Name' 'GOST R 34.10-2012 512 bit' 

Los equipos no devuelven nada.


4. Instale el navegador especial Chromium-GOST


Para trabajar con portales gubernamentales, necesita un ensamblaje especial del navegador de cromo: Chromium-GOST . El código fuente del proyecto está abierto, se proporciona un enlace al repositorio en GitHub en el sitio web de CryptoPro . Según la experiencia, otros navegadores CryptoFox y Yandex.Browser no son adecuados para trabajar con portales gubernamentales para macOS. Vale la pena considerar que en algunos ensambles de Chromium-GOST la cuenta personal en nalog.ru puede congelarse o el desplazamiento deja de funcionar por completo, por lo tanto, se propone el antiguo ensamblaje probado 71.0.3578.98 - descargar .


Descargue y descomprima el archivo, instale el navegador copiando o arrastre y suelte en el directorio de Aplicaciones. Después de la instalación, cierre con fuerza Chromium-Gost con un comando desde la terminal y no lo abra todavía (trabajamos desde Safari):


 killall Chromium-Gost 

5. Instalar extensiones del navegador


5.1 Complemento del navegador CryptoPro EDS


Desde la página de descarga en el sitio web de CryptoPro, descargue e instale la versión 2.0 del complemento CryptoPro EDS Browser para los usuarios : descárguelo .


5.2. Complemento para servicios gubernamentales


Desde la página de descarga en el portal Gosuslug, descargue e instale el complemento para trabajar con el portal de servicios del gobierno (versión para macOS) - descargue .


5.3. Configurar un complemento para servicios públicos


Descargue el archivo de configuración correcto para la extensión de los servicios gubernamentales para admitir macOS y las nuevas firmas digitales en el estándar GOST2012: descargue .


Ejecutamos comandos en la 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/NativeMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application\ Support/Chromium/NativeMessagingHosts 

5.4. Activar extensiones


Lanzamos el navegador Chromium-Gost y en la barra de direcciones escribimos:


 chrome://extensions/ 

Incluimos ambas extensiones instaladas:


  • Extensión CryptoPro para el complemento del navegador CAdES
  • Extensión para plugin de servicios públicos

Captura de pantalla


5.5. Configuramos la extensión CryptoPro EDS Browser plug-in


En la barra de direcciones de Chromium-Gost escribimos:


 /etc/opt/cprocsp/trusted_sites.html 

En la página que aparece, agregamos los sitios a la lista de sitios de confianza a su vez:


 https://*.cryptopro.ru https://*.nalog.ru https://*.gosuslugi.ru 

Haga clic en "Guardar". Debería aparecer un dado verde:


La lista de sitios de confianza se ha guardado correctamente.

Captura de pantalla


6. Comprueba que todo funciona


6.1. Vamos a la página de prueba CryptoPro


En la barra de direcciones de Chromium-Gost escribimos:


 https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html 

Se debe mostrar "Plugin cargado" y su certificado debe estar en la lista a continuación.
Seleccione un certificado de la lista y haga clic en "Firmar". Se solicitará el PIN del certificado. El resultado debe mostrarse


Firma generada con éxito

Captura de pantalla


6.2. Entramos en la cuenta personal en nalog.ru


Puede que no sea posible seguir los enlaces del sitio nalog.ru, porque los cheques no serán aprobados. Necesitas ir a enlaces directos:



Captura de pantalla


6.3. Vamos a servicios publicos


Durante la autorización, seleccione "Iniciar sesión con una firma electrónica". En la lista que aparece, "Seleccione un certificado para una clave de verificación de firma electrónica", se mostrarán todos los certificados, incluidos la raíz y CA, debe seleccionar el suyo desde el token usb e ingresar el PIN.


Captura de pantalla



7. Qué hacer si deja de funcionar


  1. Reconectamos el token usb y verificamos que sea visible usando el comando en la terminal:


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

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


      chrome://settings/clearBrowserData 

  3. Vuelva a instalar el certificado CEP con el comando en la terminal:


     /opt/cprocsp/bin/csptestf -absorb -certs 


Cambiar PIN del contenedor


El código PIN predeterminado para Rutoken es 12345678 , y no puede dejarlo como tal. Requisitos para el código PIN de Rootoken: 16 caracteres como máximo, puede contener letras y números latinos.


1. Averigüe el nombre del contenedor CEP


En el token usb y en otros almacenes se pueden almacenar varios certificados, y debe elegir el correcto. Con el token usb insertado, obtenemos una lista de todos los contenedores en el sistema con el comando en la terminal:


 /opt/cprocsp/bin/csptest -keyset -enum_cont -fqcn -verifycontext 

El equipo debe sacar al menos 1 contenedor y devolver


[Código de error: 0x00000000]

El contenedor que necesitamos es de la forma


\. \ Aktiv Rutoken lite \ XXXXXXXX

Si hay varios contenedores de este tipo, significa que hay varios certificados escritos en el token y usted sabe cuál necesita. El valor XXXXXXXX después de la barra debe copiarse y sustituirse en el siguiente comando.


2. Cambiar el comando PIN desde la terminal


 /opt/cprocsp/bin/csptest -passwd -qchange -container "XXXXXXXX" 

donde XXXXXXXX es el nombre del contenedor obtenido en el paso 1 (requerido entre comillas).


Aparecerá un cuadro de diálogo CryptoPro pidiendo el código PIN anterior para acceder al certificado, luego otro cuadro de diálogo para ingresar un nuevo código PIN. Listo


Captura de pantalla


Firmando archivos en macOS


En macOS, los archivos se pueden firmar en el software CryptoArm (costo de licencia 2500 = rublos), o con un simple comando a través del terminal, de forma gratuita.


1. Descubra el hash del certificado CEP


Puede haber varios certificados en el token y en otros almacenes. Es necesario identificar de manera única a la persona con quien continuaremos firmando documentos. Se hace una vez.
Se debe insertar el token. Obtenemos la lista de certificados en los repositorios usando el comando desde la terminal:


 /opt/cprocsp/bin/certmgr -list 

El equipo debe mostrar al menos 1 certificado del formulario:


Certmgr 1.1 © "Crypto-Pro", 2007-2018.
programa para administrar certificados, CRL y tiendas
= = = = = = = = = = = = = = = = = = = =
1 -------
Emisor: E = help @ esphere.ru, ... CN = KORUS Consulting CIS LLC ...
Asunto: E = sergzah @ gmail.com, ... CN = Zakharov Sergey Anatolyevich ...
Serie: 0x000000000000000000000000000000000000
Hash SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
Contenedor: SCARD \ rutoken_lt_00000000 \ 0000 \ 0000
...
= = = = = = = = = = = = = = = = = = = =
[Código de error: 0x00000000]

El certificado que necesitamos en el parámetro Contenedor debe tener un valor de la forma SCARD \ rutoken ... Si hay varios certificados con tales valores, significa que hay varios certificados escritos en el token, y usted sabe cuál necesita. El valor del parámetro SHA1 Hash (40 caracteres) debe copiarse y sustituirse en el siguiente comando.


2. Firmando un archivo con un comando desde la terminal


En la terminal, vaya al directorio con el archivo para firmar y ejecute el comando:


 /opt/cprocsp/bin/cryptcp -signf -detach -cert -der -strict -thumbprint  FILE 

donde ... es el hash del certificado obtenido en el paso 1, y FILE es el nombre del archivo que se firmará (con todas las extensiones, pero sin una ruta).


El equipo debe devolver:


Se crea el mensaje firmado.
[Código de error: 0x00000000]

Se creará un archivo de firma electrónica con la extensión * .sgn; se trata de una firma desconectada en formato CMS con codificación DER.


3. Instalar Apple Automator Script


Para no trabajar con el terminal cada vez, puede instalar Automator Script una vez, con lo cual puede firmar documentos desde el menú contextual del Finder. Para hacer esto, descargue el archivo - descargar .


  1. Descomprima el archivo 'Firmar con CryptoPro.zip'
  2. Iniciar Automator
  3. Busque y abra el archivo desempaquetado 'Iniciar sesión con CryptoPro.workflow'
  4. En el bloque Run Shell Script cambiamos el texto al valor del parámetro SHA1 Hash del certificado CEP obtenido anteriormente.
  5. Guarde el script: ⌘Command + S
  6. Ejecute el archivo 'Firmar con CryptoPro.workflow' y confirme la instalación.
  7. Vaya a Preferencias del sistema -> Extensiones -> Finder y verifique que la acción rápida Iniciar sesión con CryptoPro esté marcada.
  8. En Finder, llame al menú contextual de cualquier archivo, y en la sección Acciones rápidas y / o Servicios , seleccione Iniciar sesión con CryptoPro
  9. En el cuadro de diálogo CryptoPro que apareció, ingrese el PIN de usuario del CEP
  10. Aparecerá un archivo con la extensión * .sgn en el directorio actual: una firma desconectada en formato CMS con codificación DER.

Capturas de pantalla

Ventana de Apple Automator:


Preferencias del sistema:


Buscador del menú contextual:



Verifique la firma en el documento


Si el contenido del documento no contiene secretos y secretos, entonces la forma más fácil es utilizar el servicio web en el portal Gosuslug: https://www.gosuslugi.ru/pgu/eds . Por lo tanto, puede tomar una captura de pantalla de un recurso autorizado y asegurarse de que todo esté bien con una firma.


Capturas de pantalla


Source: https://habr.com/ru/post/450516/


All Articles