
De acordo com e , em 2019, na Rússia, serão emitidos 4,6 milhões de certificados de assinatura eletrônica qualificada (CEP), em conformidade com os requisitos da Lei 63-FZ. Isso significa que, dos 8 milhões de empresários individuais e sociedades limitadas registradas, um em cada dois utiliza assinatura eletrônica. Além dos CEPs para EGAIS e CEPs em nuvem para entrega de declarações, emitidos por bancos e serviços contábeis, os CEPs universais em tokens protegidos despertam um interesse especial. Esses certificados permitem o login em portais governamentais e a assinatura de qualquer documento, tornando-os legalmente válidos.
Com um certificado CEP em um token USB, é possível formalizar um contrato com um parceiro ou colaborador remoto, enviar documentos ao tribunal; registrar um caixa online, regularizar dívidas tributárias e enviar a declaração no portal pessoal em nalog.ru; verificar dívidas e auditorias futuras no Serviço Público.
O manual apresentado abaixo ajudará a trabalhar com CEP no macOS – sem precisar estudar fóruns da CryptoPro e instalar uma máquina virtual com Windows.
Conteúdo
O que você precisa para trabalhar com CEP no macOS:
Instalando e configurando o CEP no macOS
- Instalando CryptoPro CSP
- Instalando drivers para Rutoken
- Instalando certificados
3.1. Removendo todos os certificados antigos baseados em GOST
3.2. Instalando os certificados raiz
3.3. Baixando certificados da autoridade certificadora
3.4. Instalando o certificado com Rutoken - Instalando o navegador especial Chromium-GOST
- Instalando extensões para o navegador
5.1 Plugin CryptoPro ECP para o navegador
5.2. Plugin para o Serviço Público
5.3. Configurando o plugin para o Serviço Público
5.4. Ativando extensões
5.5. Configurando a extensão CryptoPro ECP para navegador - Verificando se tudo está funcionando
6.1. Acessando a página de teste da CryptoPro
6.2. Acessando a Área Pessoal em nalog.ru
6.3. Acessando o Serviço Público - O que fazer se parar de funcionar
Mudança do PIN do container
- Descobrindo o nome do container CEP
- Mudança de PIN via comando no terminal
Assinatura de arquivos no macOS
- Descobrindo o hash do certificado CEP
- Assinando arquivo via comando no terminal
- Instalação do Script do Apple Automator
Verificar a assinatura no documento
Todas as informações abaixo foram obtidas de fontes confiáveis (CryptoPro e , , , ), e o software é oferecido para download a partir de sites confiáveis. O autor é um consultor independente e não está associado a nenhuma das empresas mencionadas. Ao seguir este guia, você assume toda a responsabilidade por quaisquer ações e consequências.
O que você precisa para trabalhar com CEP no macOS:
- KÉP no token USB Rutoken Lite ou Rutoken ECP
- container criptográfico no formato CryptoPro
- com licença incorporada para CryptoPro CSP
Os dispositivos eToken e JaCarta com CryptoPro no macOS não são suportados. O dispositivo Rutoken Lite é a melhor escolha, custa de 500 a 1000 rublos, funciona rapidamente e permite armazenar até 15 chaves.
Os provedores de criptografia VipNet, Signal-COM e LISY no macOS não são suportados. Não é possível converter os contêineres. CryptoPro é a melhor escolha; o custo do certificado deve ser em torno de 1300 rublos para indivíduos e 1600 rublos para entidades jurídicas.
Normalmente, a licença anual para CryptoPro CSP já está incluída no certificado e é oferecida gratuitamente por muitos CAs. Se não for o caso, é necessário comprar e ativar uma licença perpétua para CryptoPro CSP estritamente na versão 4, custando 2700 rublos. CryptoPro CSP versão 5 não funciona atualmente no macOS.
Instalando e configurando o CEP no macOS
Coisas óbvias
- todos os arquivos baixados são salvos na pasta padrão: ~/Downloads/;
- não alteramos nada em nenhum dos instaladores, deixamos tudo como padrão;
- se o macOS exibir um aviso de que o software está sendo executado de um desenvolvedor não identificado – você precisa confirmar a execução nas configurações do sistema: Preferências do Sistema —> Segurança e Privacidade —> Abrir Assim Mesmo;
- se o macOS solicitar a senha do usuário e permissão para controlar o computador – você deve inserir a senha e concordar com tudo.
1. Instalamos o CryptoPro CSP
no site do CryptoPro e na baixamos e instalamos a versão CryptoPro CSP 4.0 R4 para macOS – .
2. Instalamos os drivers do Rutoken
No site, diz que é opcional, mas é melhor instalar. Na página do Rutoken, baixamos e instalamos Módulo de suporte ao KeyChain – .
Em seguida, conectamos o token USB, abrimos o terminal e executamos o comando:
/opt/cprocsp/bin/csptest -card -enum -vNa resposta deve constar:
Ativar Rutoken...
Cartão presente...
[Código de Erro: 0x00000000]
3. Instalamos os certificados
3.1. Removendo todos os certificados antigos baseados em GOST
Se houve tentativas anteriores de executar o KEP no macOS, é necessário limpar todos os certificados previamente instalados. Esses comandos no terminal removerão apenas os certificados do CryptoPro e não afetarão os certificados comuns no Keychain do macOS.
sudo /opt/cprocsp/bin/certmgr -delete -all -store mrootsudo /opt/cprocsp/bin/certmgr -delete -all -store uroot/opt/cprocsp/bin/certmgr -delete -allA resposta de cada comando deve ser:
Nenhum certificado correspondente aos critérios
ou
Exclusão completa
3.2. Instalando os certificados raiz
Os certificados raiz são comuns a todas as ACs emitidas por qualquer centro de certificação. Baixe de UFO do Ministério das Comunicações:
Instalamos com os comandos no 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 deve retornar:
Instalando:
…
[Código de Erro: 0x00000000]
3.3. Baixando certificados da autoridade certificadora
Em seguida, você precisa instalar os certificados da autoridade certificadora que emitiu sua AC. Normalmente, os certificados raiz de cada AC estão disponíveis no site dela na seção de downloads.
Alternativamente, os certificados de qualquer AC podem ser baixados de . Para isso, na forma de busca, você deve encontrar a AC pelo nome, acessar a página com os certificados e baixar todos os ativos certificados — ou seja, aqueles cujo campo 'Válido' a segunda data ainda não chegou. Baixe pelo link do campo 'Impressão'.
Capturas de tela


Usando como exemplo a AC Korus-Consulting: você deve baixar 4 certificados de :
Os certificados baixados da AC são instalados com os comandos do 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.ceronde após ~/Downloads/ seguem os nomes dos arquivos baixados, que serão diferentes para cada AC.
Cada comando deve retornar:
Instalando:
…
[Código de Erro: 0x00000000]
3.4. Instalando o certificado com Rutoken
Comando no terminal:
/opt/cprocsp/bin/csptestf -absorb -certsO comando deve retornar:
OK.
[Código de Erro: 0x00000000]
4. Instalamos o navegador especial Chromium-GOST
Para trabalhar com os portais do governo, será necessário uma versão especial do navegador Chromium – Chromium-GOST. O código-fonte do projeto é aberto, o link para é fornecido no . Por experiência, outros navegadores CryptoFox e Yandex Browser não são adequados para trabalhar com os portais do governo em macOS. É importante considerar que em algumas versões do Chromium-GOST, o painel do portal nalog.ru pode travar ou a rolagem para de funcionar, por isso, a versão antiga e testada 71.0.3578.98 – .
Baixe e descompacte o arquivo, instale o navegador copiando ou arrastando para a pasta Applications. Após a instalação, feche forçosamente o Chromium e não o abra ainda, trabalhe a partir do Safari.
killall Chromium-Gost5. Instalamos extensões para o navegador
5.1 Plugin CryptoPro ECP para o navegador
Com No site da CryptoPro, fazemos o download e instalamos Plugin do navegador CryptoPro ECP versão 2.0 para usuários – .
5.2. Plugin para o Serviço Público
Com No portal de serviços públicos, fazemos o download e instalamos Plugin para trabalhar com o portal de serviços públicos (versão para macOS) – .
5.3. Configurando o plugin para o Serviço Público
Fazemos o download do arquivo de configuração correto para a extensão dos serviços públicos no site da CryptoPro – .
Executamos os comandos no 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/NativeMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application Support/Chromium/NativeMessagingHosts5.4. Ativando extensões
Iniciamos o navegador Chromium-Gost e digitamos na barra de endereços:
chrome://extensions/Ativamos ambas as extensões instaladas:
- CryptoPro Extension for CAdES Browser Plug-in
- Extensão para o plugin de serviços públicos
Captura de tela

5.5. Configurando a extensão CryptoPro ECP para navegador
Digitamos na barra de endereços do Chromium-Gost:
/etc/opt/cprocsp/trusted_sites.htmlNa página que aparece, adicionamos os sites à lista de nós confiáveis, um por um:
https://*.cryptopro.ru
https://*.nalog.ru
https://*.gosuslugi.ruClicamos em “Salvar”. Uma faixa verde deve aparecer:
A lista de nós confiáveis foi salva com sucesso.
Captura de tela

6. Verificamos se tudo está funcionando
6.1. Acessando a página de teste da CryptoPro
Digitamos na barra de endereços do Chromium-Gost:
https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.htmlDeve aparecer “Plugin carregado”, e na lista abaixo, seu certificado deve estar presente.
Selecionamos o certificado da lista e clicamos em “Assinar”. Será solicitado o PIN do certificado. O resultado deve ser
A assinatura foi criada com sucesso
Captura de tela

6.2. Acessando a Área Pessoal em nalog.ru
Os links do site nalog.ru podem não funcionar, pois não passarão nas verificações. É necessário acessar pelos links diretos:
- Área do usuário IP:
- Área do usuário PJ:
Captura de tela

6.3. Acessando o Serviço Público
Ao fazer login, escolhemos “Entrada com assinatura eletrônica”. Na lista que aparece “Seleção do certificado da chave de verificação da assinatura eletrônica”, todos os certificados serão exibidos, incluindo os raiz e UCs. É necessário selecionar o seu do token USB e inserir o PIN.
Captura de tela


7. O que fazer se parou de funcionar
Reconectamos o token USB e verificamos se ele é reconhecido usando o comando no terminal:
sudo /opt/cprocsp/bin/csptest -card -enum -vLimpa o cache do navegador por todo o tempo, para isso digitamos na barra de endereços do Chromium-Gost:
chrome://settings/clearBrowserDataReinstalamos o certificado ECP usando o comando no terminal:
/opt/cprocsp/bin/csptestf -absorb -certs
Mudança do PIN do container
O PIN padrão do usuário no RUToken 12345678, e deixá-lo assim de forma alguma não é permitido. Requisitos para o PIN do RUToken: 16 caracteres no máximo, pode incluir letras latinas e números.
1. Descobrimos o nome do contêiner do ECP
Um token USB e outros armazenamentos podem conter vários certificados, e você precisa escolher o correto. Com o token USB inserido, obtemos uma lista de todos os containers no sistema com o comando no terminal:
/opt/cprocsp/bin/csptest -keyset -enum_cont -fqcn -verifycontextO comando deve retornar pelo menos 1 container e devolver
[Código de Erro: 0x00000000]
O container desejado tem a aparência de
.Aktiv Rutoken liteXXXXXXXX
Se vários containers forem exibidos, significa que vários certificados estão gravados no token, e você sabe qual exatamente precisa. O valor XXXXXXXX após a barra precisa ser copiado e inserido no comando abaixo.
2. Alteração do PIN com o comando do terminal
/opt/cprocsp/bin/csptest -passwd -qchange -container "XXXXXXXX"onde XXXXXXXX – o nome do container, obtido na etapa 1 (obrigatoriamente entre aspas).
Uma caixa de diálogo do KryptoPro aparecerá solicitando o PIN antigo para acessar o certificado, seguida de outra caixa de diálogo para inserir o novo PIN. Pronto.
Captura de tela

Assinatura de arquivos no macOS
No macOS, os arquivos podem ser assinados no software (custo da licença 2500= rublos), ou com um comando simples pelo terminal - gratuitamente.
1. Determinando o hash do certificado da CEP
O token e outros armazenamentos podem ter vários certificados. É necessário identificar de forma única aquele com o qual iremos assinar documentos a partir de agora. Isso é feito uma vez.
O token deve estar inserido. Obtemos a lista de certificados nos armazenamentos com o comando do terminal:
/opt/cprocsp/bin/certmgr -listO comando deve retornar pelo menos 1 certificado do tipo:
Certmgr 1.1 © «Crypto-Pro», 2007-2018.
programa para gerenciar certificados, CRLs e armazenamentos
= = = = = = = = = = = = = = = = = = = =
1——-
Emissor: E=help@esphere.ru,… CN=ООО КОРУС Консалтинг СНГ…
Assunto: E=sergzah@gmail.com,… CN=Захаров Сергей Анатольевич…
Serial: 0x0000000000000000000000000000000000
SHA1 Hash: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
…
Container: SCARDrutoken_lt_00000000 000 000
…
= = = = = = = = = = = = = = = = = = = =
[Código de Erro: 0x00000000]
Para o certificado que precisamos, o parâmetro Container deve ter um valor da forma SCARDrutoken…. Se houver vários certificados com esses valores, significa que vários certificados estão gravados no token, e você sabe qual exatamente precisa. O valor do parâmetro SHA1 Hash (40 caracteres) precisa ser copiado e inserido no comando abaixo.
2. Assinatura de arquivo com o comando do terminal
No terminal, navegue até o diretório com o arquivo para assinatura e execute o comando:
/opt/cprocsp/bin/cryptcp -signf -detach -cert -der -strict -thumbprint ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ FILEonde XXXX… – o hash do certificado obtido na etapa 1, e FILE – o nome do arquivo para assinatura (com todas as extensões, mas sem caminho).
O comando deve retornar:
Mensagem assinada é criada.
[Código de Erro: 0x00000000]
Um arquivo de assinatura eletrônica com a extensão *.sgn será criado – esta é uma assinatura desvinculada no formato CMS com codificação DER.
3. Instalação do Script do Apple Automator
Para não precisar trabalhar com o terminal toda vez, você pode instalar o Script do Automator uma vez, com o qual será possível assinar documentos diretamente no menu de contexto do Finder. Para isso, baixe o arquivo compactado – .
- Descompacte o arquivo ‘Sign with CryptoPro.zip’
- Iniciamos Automator
- Localize e abra o arquivo descompactado ‘Sign with CryptoPro.workflow’
- Na seção Run Shell Script modifique o texto XXXXXXXXXXXXXXXXXXXXXXXX para o valor do parâmetro SHA1 Hash do certificado KEP, obtido anteriormente.
- Salve o script: ⌘Command + S
- Execute o arquivo ‘Sign with CryptoPro.workflow’ e confirme a instalação.
- Vá para Preferências do Sistema —> Extensões —> Finder e verifique se Sign with CryptoPro a ação rápida está marcada.
- No Finder, acesse o menu de contexto de qualquer arquivo, e na seção Ações Rápidas e/ou Serviços selecione o item Sign with CryptoPro
- No diálogo que aparece, insira o PIN do usuário do KEP
- Um arquivo com a extensão *.sgn aparecerá no diretório atual – uma assinatura desconectada no formato CMS com codificação DER.
Capturas de tela
Janela do Apple Automator:

Preferências do Sistema:

Menu de contexto do Finder:

Verificar a assinatura no documento
Se o conteúdo do documento não contém segredos e mistérios, a maneira mais simples é usar o serviço web no portal dos serviços públicos – . Assim, é possível fazer uma captura de tela de um recurso oficial e ter a certeza de que a assinatura está correta.
Capturas de tela


Fonte: habr.com
