Assinatura qualificada do MacOS


De acordo com a RBC e a Tensor , em 2019, 4,6 milhões de certificados de assinaturas eletrônicas qualificadas (CEP) serão emitidos na Rússia que atendem aos requisitos do 63-FZ. Acontece que dos 8 milhões de IPs e LLCs registrados, todo segundo empresário usa uma assinatura eletrônica. Além dos CEPs para EGAIS e CEPs baseados na nuvem para enviar relatórios emitidos por bancos e serviços de contabilidade, os CEPs universais com tokens seguros são de particular interesse. Esses certificados permitem que você faça login em portais governamentais e assine quaisquer documentos, tornando-os legalmente significativos.


Graças ao certificado CEP em um token USB, você pode concluir remotamente um contrato com uma contraparte ou um funcionário remoto, enviar documentos ao tribunal; registrar uma caixa registradora on-line, liquidar impostos em atraso e enviar uma declaração em sua conta no nalog.ru; descubra dívidas e verificações futuras de serviços públicos.


O manual abaixo o ajudará a trabalhar com o CEP para macOS - sem estudar os fóruns do CryptoPro e instalar uma máquina virtual com o Windows.


Conteúdo

O que você precisa para trabalhar com o CEP para macOS:


Instale e configure o CEP para macOS


  1. Instale o CryptoPro CSP
  2. Instale drivers Rootoken
  3. Instalar certificados
    3.1 Excluímos todos os certificados GOST antigos
    3.2 Instalar certificados raiz
    3.3 Faça o download dos certificados do centro de certificação
    3.4 Instale o certificado com Rutoken
  4. Instale o navegador especial Chromium-GOST
  5. Instalar extensões do navegador
    5.1 Plug-in do navegador CryptoPro EDS
    5.2 Plugin para serviços governamentais
    5.3 Configurar um plugin para serviços públicos
    5.4 Ativar extensões
    5.5 Configuramos a extensão do plug-in CryptoPro EDS Browser
  6. Verifique se tudo funciona.
    6.1 Vamos para a página de teste CryptoPro
    6.2 Entramos na conta pessoal em nalog.ru
    6.3 Vamos a serviços públicos
  7. O que fazer se parar de funcionar

Alterar PIN do contêiner


  1. Descobrimos o nome do container CEP
  2. Alterar comando PIN do terminal

Assinando arquivos no macOS


  1. Descubra o hash do certificado CEP
  2. Assinando um arquivo com um comando do terminal
  3. Instalar script do Apple Automator

Verifique a assinatura no documento


Todas as informações abaixo são obtidas de fontes respeitáveis ​​(CryptoPro # 1 , # 2 e # 3 , Rutoken , Corus-Consulting , Ministério das Comunicações do Distrito Federal de Ural ), e propõe-se baixar o software de sites confiáveis. O autor é um consultor independente e não é afiliado a nenhuma das empresas mencionadas. Seguindo estas instruções, você assume toda a responsabilidade por quaisquer ações e consequências.


O que você precisa para trabalhar com o CEP para macOS:


  1. CEP no token USB Rutoken Lite ou Rutoken EDS
  2. cryptocontainer no formato CryptoPro
  3. com licença integrada para CryptoPro CSP
  4. certificado público deve ser armazenado no contêiner de chave privada

As mídias EToken e JaCarta em conjunto com o CryptoPro para macOS não são suportadas. O transportador Rutoken Lite é a melhor escolha, custa 500..1000 = rublos, funciona de forma inteligente e permite armazenar até 15 chaves.


Os fornecedores de criptografia VipNet, Signal-COM e LISSI não são suportados no macOS. Converter contêineres não funciona. CryptoPro é a melhor escolha, o custo do certificado deve ser de cerca de 1300 = rublos. para SP e 1600 = esfregar. para Yul.


Normalmente, a licença anual do CryptoPro CSP já está conectada ao certificado e muitas CAs são fornecidas gratuitamente. Se não for assim, você precisará comprar e ativar uma licença permanente para o CryptoPro CSP estritamente versão 4 no valor de 2700 =. Atualmente, o CryptoPro CSP versão 5 para macOS não funciona.


Normalmente, um certificado público é armazenado em um contêiner de chave privada, mas isso precisa ser esclarecido ao emitir o CEP e solicitado a ser feito conforme necessário. Se não funcionar, você pode importar a chave pública para o contêiner fechado usando o CryptoPro CSP for Windows.


Instale e configure o CEP para macOS


Coisas óbvias
  • todos os arquivos baixados são baixados no diretório padrão: ~ / Downloads /;
  • não mudamos nada em todos os instaladores, deixamos tudo por padrão;
  • se o macOS exibir um aviso de que o software que está sendo lançado é de um desenvolvedor desinstalado, você precisará confirmar o lançamento nas configurações do sistema: Preferências do Sistema -> Segurança e Privacidade -> Abrir de qualquer maneira ;
  • se o macOS solicitar uma senha de usuário e permissão para controlar o computador, você precisará digitar uma senha e concordar com tudo.

1. Instale o CryptoPro CSP


Registramos no site CryptoPro e baixamos e instalamos a versão do CryptoPro CSP 4.0 R4 para macOS na página de download - download .


2. Instale drivers Rootoken


O site diz que é opcional, mas é melhor entregar. Na página de download no site da Rutoken, faça o download e instale o KeyChain Support Module - download .


Em seguida, conecte o token usb, inicie o terminal e execute o comando:


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

A resposta deve ser:


Aktiv Rutoken ...
Cartão presente ...
[ErrorCode: 0x00000000]

3. Instale certificados


3.1 Excluímos todos os certificados GOST antigos


Se anteriormente houve tentativas de executar o CEP no macOS, você deve limpar todos os certificados instalados anteriormente. Esses comandos no terminal removerão apenas os certificados CryptoPro e não afetarão os certificados comuns do Keychain no 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 

A resposta de cada comando deve ser:


Nenhum certificado corresponde aos critérios

ou


Exclusão concluída

3.2 Instalar certificados raiz


Os certificados raiz são comuns a todos os CEPs emitidos por qualquer autoridade de certificação. Download na página de download do Ministério das Comunicações do Distrito Federal de Ural :



Instale os seguintes comandos no 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 equipe deve retornar:


Instalando:
...
[ErrorCode: 0x00000000]

3.3 Faça o download dos certificados do centro de certificação


Em seguida, você precisa instalar os certificados da autoridade de certificação onde emitiu o CEP. Normalmente, os certificados raiz de cada CA estão localizados em seu site na seção de download.


Como alternativa, os certificados de qualquer CA podem ser baixados no site do Distrito Federal Ural do Ministério das Comunicações . Para fazer isso, no formulário de pesquisa, você precisa encontrar a CA por nome, acessar a página com certificados e fazer o download de todos os certificados válidos - ou seja, aqueles cuja segunda data ainda não chegou ao campo 'Válido' . Faça o download do link no campo 'Impressão' .


Screenshots



No exemplo do CA Corus Consulting: é necessário fazer o download de 4 certificados na página de download :



Instalamos os certificados CA baixados com os comandos do 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 

onde após ~ / Downloads / são os nomes dos arquivos baixados, para cada CA eles serão diferentes.


Cada equipe deve retornar:


Instalando:
...
[ErrorCode: 0x00000000]

3.4 Instale o certificado com Rutoken


Comando no terminal:


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

A equipe deve retornar:


OK
[ErrorCode: 0x00000000]

3.5 Configure o CryptoPro para funcionar com certificados GOST R 34.10-2012


Para funcionar corretamente no nalog.ru com certificados emitidos desde 2019, as instruções no site do CryptoPro recomendam:


Comandos no 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' 

As equipes não retornam nada.


4. Instale o navegador especial Chromium-GOST


Para trabalhar com portais governamentais, você precisa de uma montagem especial do navegador Chromium - Chromium-GOST . O código fonte do projeto está aberto, um link para o repositório no GitHub é fornecido no site do CryptoPro . De acordo com a experiência, outros navegadores CryptoFox e Yandex.Browser não são adequados para trabalhar com portais governamentais do macOS. Vale a pena considerar que, em algumas montagens do Chromium-GOST, a conta pessoal no nalog.ru pode congelar ou o pergaminho para de funcionar completamente, portanto, é proposto o antigo assembly comprovado 71.0.3578.98 - download .


Faça o download e descompacte o arquivo morto, instale o navegador copiando ou arraste e solte no diretório Aplicativos. Após a instalação, feche com força o Chromium-Gost com um comando do terminal e ainda não o abra (trabalhamos no Safari):


 killall Chromium-Gost 

5. Instale extensões do navegador


5.1 Plug-in do navegador CryptoPro EDS


Na página de download no site da CryptoPro, faça o download e instale o plug-in CryptoPro EDS Browser versão 2.0 para usuários - faça o download .


5.2 Plugin para serviços governamentais


Na página de download no portal Gosuslug, faça o download e instale o Plugin para trabalhar com o portal de serviços governamentais (versão para macOS) - download .


5.3 Configurar um plugin para serviços públicos


Faça o download do arquivo de configuração correto para a extensão dos serviços governamentais para dar suporte ao macOS e novas assinaturas digitais no download padrão do GOST2012.


Executamos comandos no 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 Ativar extensões


Iniciamos o navegador Chromium-Gost e, na barra de endereços, digitamos:


 chrome://extensions/ 

Incluímos as duas extensões instaladas:


  • Extensão CryptoPro para plug-in de navegador CAdES
  • Extensão para plug-in de serviços públicos

Captura de tela


5.5 Configuramos a extensão do plug-in CryptoPro EDS Browser


Na barra de endereço do Chromium-Gost, digite:


 /etc/opt/cprocsp/trusted_sites.html 

Na página exibida, adicionamos os sites à lista de sites confiáveis, por sua vez:


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

Clique em "Salvar". Um dado verde deve aparecer:


A lista de sites confiáveis ​​foi salva com sucesso.

Captura de tela


6. Verifique se tudo funciona


6.1 Vamos para a página de teste CryptoPro


Na barra de endereço do Chromium-Gost, digite:


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

“Plugin carregado” deve ser exibido e seu certificado deve estar na lista abaixo.
Selecione um certificado da lista e clique em "Assinar". O PIN do certificado será solicitado. O resultado deve ser exibido


Assinatura gerada com sucesso

Captura de tela


6.2 Entramos na conta pessoal em nalog.ru


Pode não ser possível seguir os links do site nalog.ru, porque as verificações não serão aprovadas. Você precisa ir para links diretos:



Captura de tela


6.3 Vamos a serviços públicos


Durante a autorização, selecione "Entrar usando uma assinatura eletrônica". Na lista exibida, "Selecione um certificado para uma chave de verificação de assinatura eletrônica", todos os certificados serão exibidos, incluindo raiz e CA. Você precisa selecionar o seu no token usb e inserir o PIN.


Captura de tela



7. O que fazer se parar de funcionar


  1. Reconectamos o token usb e verificamos se ele é visível usando o comando no terminal:


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

  2. Limpamos o cache do navegador o tempo todo, digitando a barra de endereço do Chromium-Gost:


      chrome://settings/clearBrowserData 

  3. Reinstale o certificado CEP usando o comando no terminal:


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


Alterar PIN do contêiner


O código PIN padrão para Rutoken é 12345678 e você não pode deixá-lo como tal. Requisitos para o código PIN Rootoken: máximo de 16 caracteres, pode conter letras e números latinos.


1. Descubra o nome do contêiner CEP


No token usb e em outros armazenamentos, vários certificados podem ser armazenados, e você precisa escolher o certo. Com o token usb inserido, obtemos uma lista de todos os contêineres no sistema com o comando no terminal:


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

A equipe deve trazer pelo menos 1 contêiner e devolver


[ErrorCode: 0x00000000]

O contêiner que precisamos é do formato


\. \ Aktiv Rutoken lite \ XXXXXXXX

Se houver vários contêineres, significa que vários certificados estão gravados no token e você está ciente de qual deles é necessário. O valor XXXXXXXX após a barra precisa ser copiado e substituído no comando abaixo.


2. Altere o comando PIN do terminal


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

onde XXXXXXXX é o nome do contêiner obtido na etapa 1 (obrigatório entre aspas).


Uma caixa de diálogo CryptoPro aparecerá solicitando o código PIN antigo para acessar o certificado e, em seguida, outra caixa de diálogo para inserir um novo código PIN. Feito.


Captura de tela


Assinando arquivos no macOS


No macOS, os arquivos podem ser assinados no software CryptoArm (custo da licença 2500 = rublos) ou com um simples comando através do terminal - de graça.


1. Descubra o hash do certificado CEP


Pode haver vários certificados no token e em outros armazenamentos. É necessário identificar exclusivamente aquele com quem continuaremos assinando documentos. É feito uma vez.
O token deve ser inserido. Nós obtemos a lista de certificados nos repositórios usando o comando do terminal:


 /opt/cprocsp/bin/certmgr -list 

A equipe deve exibir pelo menos 1 certificado do formulário:


Certmgr 1.1 © "Crypto-Pro", 2007-2018.
programa para gerenciar certificados, CRLs e lojas
= = = = = = = = = = = = = = = = = = = = = =
1 -------
Emissor: E = help @ esphere.ru, ... CN = KORUS Consulting CIS LLC ...
Assunto: E = sergzah @ gmail.com, ... CN = Zakharov Sergey Anatolyevich ...
Serial: 0x0000000000000000000000000000000000000000
Hash SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
Contêiner: SCARD \ rutoken_lt_00000000 \ 0000 \ 0000
...
= = = = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]

O certificado que precisamos no parâmetro Container deve ter um valor no formato SCARD \ rutoken .... Se houver vários certificados com esses valores, isso significa que vários certificados estão gravados no token e você está ciente de qual deles precisa. O valor do parâmetro SHA1 Hash (40 caracteres) deve ser copiado e substituído no comando abaixo.


2. Assinando um arquivo com um comando do terminal


No terminal, vá para o diretório com o arquivo para assinar e execute o comando:


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

onde ... é o hash do certificado obtido na etapa 1 e FILE é o nome do arquivo a ser assinado (com todas as extensões, mas sem um caminho).


A equipe deve retornar:


A mensagem assinada é criada.
[ErrorCode: 0x00000000]

Um arquivo de assinatura eletrônica com a extensão * .sgn será criado - esta é uma assinatura desconectada no formato CMS com codificação DER.


3. Instale o script do Apple Automator


Para não trabalhar com o terminal de cada vez, você pode instalar o Automator Script uma vez, com o qual é possível assinar documentos no menu de contexto do Finder. Para fazer isso, baixe o arquivo - download .


  1. Descompacte o arquivo 'Sign with CryptoPro.zip'
  2. Launch Automator
  3. Localize e abra o arquivo descompactado 'Sign with CryptoPro.workflow'
  4. No bloco Run Shell Script , alteramos o texto para o valor do parâmetro SHA1 Hash do certificado CEP obtido acima.
  5. Salve o script: ⌘Command + S
  6. Execute o arquivo 'Sign with CryptoPro.workflow' e confirme a instalação.
  7. Vá para Preferências do sistema -> Extensões -> Localizador e verifique se a ação rápida Assinar com CryptoPro está marcada.
  8. No Finder, chame o menu de contexto de qualquer arquivo e, na seção Ações Rápidas e / ou Serviços , selecione Assinar com CryptoPro
  9. Na caixa de diálogo CryptoPro exibida, digite o PIN do usuário no CEP
  10. Um arquivo com a extensão * .sgn aparecerá no diretório atual - uma assinatura desconectada no formato CMS com codificação DER.

Screenshots

Janela do Apple Automator:


Preferências do sistema:


Localizador do menu de contexto:



Verifique a assinatura no documento


Se o conteúdo do documento não contiver segredos e segredos, a maneira mais fácil é usar o serviço da web no portal Gosuslug - https://www.gosuslugi.ru/pgu/eds . Assim, você pode tirar uma captura de tela de um recurso autorizado e ter certeza de que está tudo bem com uma assinatura.


Screenshots


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


All Articles