Signature MacOS qualifiée


Selon RBC et Tensor , en 2019 en Russie, 4,6 millions de certificats de signatures électroniques qualifiées (CEP) seront délivrés qui répondent aux exigences de 63-FZ. Il s'avère que sur 8 millions d'IP et de LLC enregistrés, un entrepreneur sur deux utilise une signature électronique. En plus des CEP pour EGAIS et des CEP basés sur le cloud pour soumettre des rapports émis par les banques et les services comptables, les CEP universels avec des jetons sécurisés présentent un intérêt particulier. Ces certificats vous permettent de vous connecter aux portails des États et de signer tous les documents, ce qui les rend juridiquement significatifs.


Grâce au certificat CEP sur un token USB, vous pouvez conclure à distance un contrat avec une contrepartie ou un employé à distance, envoyer des documents au tribunal; enregistrer une caisse enregistreuse en ligne, régler les arriérés d'impôts et soumettre une déclaration dans votre compte sur nalog.ru; Informez-vous sur les dettes et les contrôles à venir sur les services publics.


Le manuel ci-dessous vous aidera à travailler avec CEP pour macOS - sans étudier les forums CryptoPro et installer une machine virtuelle avec Windows.


Table des matières

Ce dont vous avez besoin pour travailler avec CEP pour macOS:


Installer et configurer CEP pour macOS


  1. Installer CryptoPro CSP
  2. Installez les pilotes Rootoken
  3. Installer des certificats
    3.1. Nous supprimons tous les anciens certificats GOST
    3.2. Installer des certificats racine
    3.3. Télécharger les certificats du centre de certification
    3.4. Installez le certificat avec Rutoken
  4. Installez le navigateur spécial Chromium-GOST
  5. Installer des extensions de navigateur
    5.1 Plug-in du navigateur CryptoPro EDS
    5.2. Plugin pour les services gouvernementaux
    5.3. Mettre en place un plugin pour les services publics
    5.4. Activer les extensions
    5.5. Nous configurons le plug-in d'extension CryptoPro EDS Browser
  6. Vérifiez que tout fonctionne.
    6.1. Nous allons à la page de test CryptoPro
    6.2. Nous allons dans le compte personnel sur nalog.ru
    6.3. Nous allons aux services publics
  7. Que faire s'il cesse de fonctionner

Modifier le code PIN du conteneur


  1. On découvre le nom du conteneur CEP
  2. Changer la commande PIN du terminal

Signature de fichiers sur macOS


  1. Découvrez le hachage du certificat CEP
  2. Signature d'un fichier avec une commande du terminal
  3. Installer le script Apple Automator

Vérifiez la signature sur le document


Toutes les informations ci-dessous sont obtenues auprès de sources fiables (CryptoPro # 1 , # 2 et # 3 , Rutoken , Corus-Consulting , ministère des Communications du district fédéral de l'Oural ), et il est proposé de télécharger le logiciel à partir de sites de confiance. L'auteur est un consultant indépendant et n'est affilié à aucune des sociétés mentionnées. En suivant ces instructions, vous assumez l'entière responsabilité de toutes les actions et conséquences.


Ce dont vous avez besoin pour travailler avec CEP pour macOS:


  1. CEP sur clé USB Rutoken Lite ou Rutoken EDS
  2. cryptoconteneur au format CryptoPro
  3. avec licence intégrée pour CryptoPro CSP
  4. le certificat public doit être stocké dans le conteneur de clé privée

Les supports EToken et JaCarta associés à CryptoPro pour macOS ne sont pas pris en charge. Carrier Rutoken Lite est le meilleur choix, il coûte 500..1000 = roubles, il fonctionne intelligemment et vous permet de stocker jusqu'à 15 clés.


Les fournisseurs de cryptographie VipNet, Signal-COM et LISSI ne sont pas pris en charge sur macOS. La conversion des conteneurs ne fonctionne pas. CryptoPro est le meilleur choix, le coût du certificat devrait être d'environ 1300 = roubles. pour SP et 1600 = frotter. pour Yul.


Habituellement, la licence annuelle de CryptoPro CSP est déjà câblée dans le certificat et de nombreuses autorités de certification sont fournies gratuitement. Si ce n'est pas le cas, vous devez acheter et activer une licence perpétuelle pour CryptoPro CSP strictement version 4 d'une valeur de 2700 =. CryptoPro CSP version 5 pour macOS ne fonctionne pas actuellement.


En règle générale, un certificat public est stocké dans un conteneur de clé privée, mais cela doit être clarifié lors de l'émission du CEP et demandé de le faire si nécessaire. Si cela ne fonctionne pas, vous pouvez importer vous-même la clé publique dans le conteneur fermé à l'aide de CryptoPro CSP pour Windows.


Installer et configurer CEP pour macOS


Choses évidentes
  • tous les fichiers téléchargés sont téléchargés dans le répertoire par défaut: ~ / Downloads /;
  • nous ne changeons rien dans tous les installateurs, nous laissons tout par défaut;
  • si macOS affiche un avertissement indiquant que le logiciel lancé provient d'un développeur désinstallé, vous devez confirmer le lancement dans les paramètres système: Préférences Système -> Sécurité et confidentialité -> Ouvrir quand même ;
  • si macOS demande un mot de passe utilisateur et l'autorisation de contrôler l'ordinateur, vous devez saisir un mot de passe et accepter tout.

1. Installez CryptoPro CSP


Nous nous inscrivons sur le site Web de CryptoPro et téléchargeons et installons la version CryptoPro CSP 4.0 R4 pour macOS à partir de la page de téléchargement - téléchargement .


2. Installez les pilotes Rootoken


Le site dit qu'il est facultatif, mais il vaut mieux le livrer. Depuis la page de téléchargement sur le site Web de Rutoken, téléchargez et installez le module de support KeyChain - téléchargement .


Ensuite, connectez le jeton USB, exécutez le terminal et exécutez la commande:


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

La réponse devrait être:


Aktiv Rutoken ...
Carte présente ...
[ErrorCode: 0x00000000]

3. Installer des certificats


3.1. Nous supprimons tous les anciens certificats GOST


S'il y a eu auparavant des tentatives d'exécution de CEP sous macOS, vous devez nettoyer tous les certificats précédemment installés. Ces commandes dans le terminal ne supprimeront que les certificats CryptoPro et n'affecteront pas les certificats ordinaires du trousseau sur 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 réponse de chaque commande doit être:


Aucun certificat correspondant aux critères

ou


Suppression terminée

3.2. Installer des certificats racine


Les certificats racine sont communs à tous les CEP émis par toute autorité de certification. Télécharger depuis la page de téléchargement du ministère des Communications du district fédéral de l'Oural :



Installez les commandes suivantes dans le 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 

Chaque équipe doit retourner:


Installation:
...
[ErrorCode: 0x00000000]

3.3. Télécharger les certificats du centre de certification


Ensuite, vous devez installer les certificats de l'autorité de certification où vous avez délivré le CEP. En règle générale, les certificats racine de chaque autorité de certification se trouvent sur son site Web dans la section de téléchargement.


Alternativement, les certificats de toute autorité de certification peuvent être téléchargés à partir du site Web du district fédéral de l'Oural du ministère des Communications . Pour ce faire, dans le formulaire de recherche, vous devez trouver l'autorité de certification par nom, aller sur la page avec les certificats et télécharger tous les certificats valides - c'est-à-dire ceux dont la deuxième date n'est pas encore arrivée dans le champ `` Valide '' . Téléchargez le lien depuis le champ «Mentions légales» .


Captures d'écran



Sur l'exemple de CA Corus Consulting: vous devez télécharger 4 certificats à partir de la page de téléchargement :



Nous installons les certificats CA téléchargés avec les commandes du 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 

où après ~ / Téléchargements / sont les noms des fichiers téléchargés, pour chaque autorité de certification, ils seront différents.


Chaque équipe doit retourner:


Installation:
...
[ErrorCode: 0x00000000]

3.4. Installez le certificat avec Rutoken


Commande dans le terminal:


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

L'équipe doit retourner:


Ok
[ErrorCode: 0x00000000]

3.5. Configurer CryptoPro pour fonctionner avec les certificats GOST R 34.10-2012


Pour fonctionner correctement sur nalog.ru avec des certificats émis depuis 2019, les instructions sur le site Web de CryptoPro recommandent:


Commandes dans le 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' 

Les équipes ne retournent rien.


4. Installez le navigateur spécial Chromium-GOST


Pour travailler avec les portails gouvernementaux, vous avez besoin d'un assemblage spécial du navigateur Chrome - Chromium-GOST . Le code source du projet est ouvert, un lien vers le référentiel sur GitHub est fourni sur le site Web de CryptoPro . Selon l'expérience, les autres navigateurs CryptoFox et Yandex.Browser ne conviennent pas pour travailler avec des portails gouvernementaux pour macOS. Il convient de noter que dans certains assemblages de Chromium-GOST, le compte personnel sur nalog.ru peut geler ou que le défilement cesse de fonctionner, donc l'ancien assemblage éprouvé 71.0.3578.98 est proposé - téléchargement .


Téléchargez et décompressez l'archive, installez le navigateur en copiant ou glissez-déposez dans le répertoire Applications. Après l'installation, fermez Chromium-Gost de force avec une commande du terminal et ne l'ouvrez pas encore (nous travaillons depuis Safari):


 killall Chromium-Gost 

5. Installer des extensions de navigateur


5.1 Plug-in du navigateur CryptoPro EDS


À partir de la page de téléchargement sur le site Web de CryptoPro, téléchargez et installez le plug-in CryptoPro EDS Browser version 2.0 pour les utilisateurs - téléchargement .


5.2. Plugin pour les services gouvernementaux


Depuis la page de téléchargement du portail Gosuslug, téléchargez et installez le plugin pour travailler avec le portail des services gouvernementaux (version pour macOS) - téléchargement .


5.3. Mettre en place un plugin pour les services publics


Téléchargez le fichier de configuration correct pour l'extension des services gouvernementaux pour prendre en charge macOS et les nouvelles signatures numériques dans le téléchargement standard GOST2012.


Nous exécutons des commandes dans le 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. Activer les extensions


Nous lançons le navigateur Chromium-Gost et dans la barre d'adresse nous tapons:


 chrome://extensions/ 

Nous incluons les deux extensions installées:


  • Extension CryptoPro pour le plug-in de navigateur CAdES
  • Extension pour le plugin des services publics

Capture d'écran


5.5. Nous configurons le plug-in d'extension CryptoPro EDS Browser


Dans la barre d'adresse de Chromium-Gost, nous tapons:


 /etc/opt/cprocsp/trusted_sites.html 

Sur la page qui apparaît, nous ajoutons tour à tour les sites à la liste des sites de confiance:


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

Cliquez sur "Enregistrer". Un dé vert devrait apparaître:


La liste des sites de confiance a été enregistrée avec succès.

Capture d'écran


6. Vérifiez que tout fonctionne


6.1. Nous allons à la page de test CryptoPro


Dans la barre d'adresse de Chromium-Gost, nous tapons:


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

«Plugin chargé» devrait s'afficher et votre certificat devrait figurer dans la liste ci-dessous.
Sélectionnez un certificat dans la liste et cliquez sur «Signer». Le code PIN du certificat vous sera demandé. Le résultat doit être affiché


Signature générée avec succès

Capture d'écran


6.2. Nous allons dans le compte personnel sur nalog.ru


Il peut ne pas être possible de suivre les liens du site nalog.ru, car les chèques ne seront pas passés. Vous devez aller sur des liens directs:



Capture d'écran


6.3. Nous allons aux services publics


Lors de l'autorisation, sélectionnez «Se connecter à l'aide d'une signature électronique». Dans la liste qui apparaît, "Sélectionnez un certificat pour une clé de vérification de signature électronique", tous les certificats seront affichés, y compris root et CA, vous devez sélectionner le vôtre dans le jeton USB et entrer le code PIN.


Capture d'écran



7. Que faire s'il cesse de fonctionner


  1. Nous reconnectons le jeton USB et vérifions qu'il est visible à l'aide de la commande dans le terminal:


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

  2. Nous effaçons le cache du navigateur pour tout le temps, pour lequel nous tapons dans la barre d'adresse de Chromium-Gost:


      chrome://settings/clearBrowserData 

  3. Réinstallez le certificat CEP à l'aide de la commande dans le terminal:


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


Modifier le code PIN du conteneur


Le code PIN par défaut pour Rutoken est 12345678 , et vous ne pouvez pas le laisser tel quel. Conditions requises pour le code PIN Rootoken: 16 caractères max., Peut contenir des lettres et des chiffres latins.


1. Découvrez le nom du conteneur CEP


Sur le jeton USB et dans d'autres stockages, plusieurs certificats peuvent être stockés, et vous devez choisir le bon. Avec le jeton USB inséré, nous obtenons une liste de tous les conteneurs du système avec la commande dans le terminal:


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

L'équipe doit sortir au moins 1 conteneur et retourner


[ErrorCode: 0x00000000]

Le conteneur dont nous avons besoin est de la forme


\. \ Aktiv Rutoken lite \ XXXXXXXX

S'il existe plusieurs conteneurs de ce type, cela signifie que plusieurs certificats sont écrits sur le jeton et que vous savez lequel vous avez besoin. La valeur XXXXXXXX après la barre oblique doit être copiée et substituée dans la commande ci-dessous.


2. Changer la commande PIN du terminal


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

XXXXXXXX est le nom du conteneur obtenu à l'étape 1 (requis entre guillemets).


Une boîte de dialogue CryptoPro apparaîtra vous demandant l'ancien code PIN pour accéder au certificat, puis une autre boîte de dialogue pour entrer un nouveau code PIN. C'est fait.


Capture d'écran


Signature de fichiers sur macOS


Sous macOS, les fichiers peuvent être signés dans le logiciel CryptoArm (coût de la licence 2500 = roubles), ou avec une simple commande via le terminal - gratuitement.


1. Découvrez le hachage du certificat CEP


Il peut y avoir plusieurs certificats sur le jeton et dans d'autres stockages. Il est nécessaire d'identifier de manière unique celui avec qui nous continuerons de signer les documents. Cela se fait une fois.
Le jeton doit être inséré. Nous obtenons la liste des certificats dans les référentiels en utilisant la commande du terminal:


 /opt/cprocsp/bin/certmgr -list 

L'équipe doit afficher au moins 1 certificat du formulaire:


Certmgr 1.1 © "Crypto-Pro", 2007-2018.
programme de gestion des certificats, CRL et magasins
= = = = = = = = = = = = = = = = = = = = =
1 -------
Émetteur: E = help @ esphere.ru, ... CN = KORUS Consulting CIS LLC ...
Objet: E = sergzah @ gmail.com, ... CN = Zakharov Sergey Anatolyevich ...
Série: 0x000000000000000000000000000000000000
Hachage SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
Conteneur: SCARD \ rutoken_lt_00000000 \ 0000 \ 0000
...
= = = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]

Le certificat dont nous avons besoin dans le paramètre Container doit avoir une valeur de la forme SCARD \ rutoken .... S'il existe plusieurs certificats avec de telles valeurs, cela signifie que plusieurs certificats sont écrits sur le jeton et que vous savez lequel vous avez besoin. La valeur du paramètre SHA1 Hash (40 caractères) doit être copiée et substituée dans la commande ci-dessous.


2. Signature d'un fichier avec une commande du terminal


Dans le terminal, accédez au répertoire contenant le fichier à signer et exécutez la commande:


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

... est le hachage de certificat obtenu à l'étape 1, et FILE est le nom du fichier à signer (avec toutes les extensions, mais sans chemin d'accès).


L'équipe doit retourner:


Le message signé est créé.
[ErrorCode: 0x00000000]

Un fichier de signature électronique avec l'extension * .sgn sera créé - il s'agit d'une signature déconnectée au format CMS avec encodage DER.


3. Installez le script Apple Automator


Afin de ne pas travailler avec le terminal à chaque fois, vous pouvez installer Automator Script une fois, avec lequel vous pouvez signer des documents à partir du menu contextuel du Finder. Pour ce faire, téléchargez l'archive - téléchargement .


  1. Décompressez l'archive 'Signer avec CryptoPro.zip'
  2. Lancer Automator
  3. Recherchez et ouvrez le fichier décompressé «Signer avec CryptoPro.workflow»
  4. Dans le bloc Run Shell Script , nous modifions le texte à la valeur du paramètre SHA1 Hash du certificat CEP obtenu ci-dessus.
  5. Enregistrez le script: ⌘Commande + S
  6. Exécutez le fichier 'Sign with CryptoPro.workflow' et confirmez l'installation.
  7. Accédez à Préférences Système -> Extensions -> Finder et vérifiez que l'action rapide Sign with CryptoPro est cochée.
  8. Dans le Finder, appelez le menu contextuel de n'importe quel fichier et, dans la section Actions rapides et / ou services , sélectionnez Signer avec CryptoPro
  9. Dans la boîte de dialogue CryptoPro apparue, entrez le code PIN utilisateur du CEP
  10. Un fichier avec l'extension * .sgn apparaîtra dans le répertoire actuel - une signature déconnectée au format CMS avec encodage DER.

Captures d'écran

Fenêtre Apple Automator:


Préférences système:


Menu contextuel Finder:



Vérifiez la signature sur le document


Si le contenu du document ne contient pas de secrets et de secrets, le moyen le plus simple consiste à utiliser le service Web sur le portail Gosuslug - https://www.gosuslugi.ru/pgu/eds . Vous pouvez donc prendre une capture d'écran à partir d'une ressource faisant autorité et être sûr que tout va bien avec une signature.


Captures d'écran


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


All Articles