Qualifizierte elektronische Signatur unter macOS

Qualifizierte elektronische Signatur unter macOS

Laut RBK und Tensor, im Jahr 2019 werden in Russland 4,6 Millionen qualifizierte elektronischer Signaturen (QES) ausgegeben, die den Anforderungen des Gesetzes 63-FZ entsprechen. Das bedeutet, dass jeder zweite Unternehmer aus 8 Millionen registrierten Einzelunternehmern und Gesellschaften mit beschränkter Haftung eine elektronische Signatur verwendet. Neben der QES für EGAIS und Cloud-QES zur Einreichung von Berichten, die von Banken und Buchhaltungsdiensten ausgegeben werden, sind universelle QES auf geschützten Token von besonderem Interesse. Solche Zertifikate ermöglichen das Einloggen auf staatlichen Portalen und das Unterzeichnen beliebiger Dokumente, wodurch sie rechtlich gültig werden.

Mit einem QES-Zertifikat auf einem USB-Token kann man remote einen Vertrag mit einem Geschäftspartner oder einem Fernmitarbeiter abschließen, Dokumente an das Gericht senden; eine Online-Kasse registrieren, Steuerverbindlichkeiten regeln und eine Erklärung in dem persönlichen Bereich auf nalog.ru einreichen; Informationen über Schulden und bevorstehende Prüfungen auf den staatlichen Diensten abrufen.

Das untenstehende Handbuch hilft bei der Arbeit mit QES unter macOS – ohne Foren von CryptoPro zu studieren und eine virtuelle Maschine mit Windows zu installieren.


Inhalt

Was benötigt wird, um mit QES unter macOS zu arbeiten:

Wir installieren und konfigurieren QES unter macOS

  1. Wir installieren CryptoPro CSP
  2. Wir installieren die Treiber von Rutoken
  3. Wir installieren Zertifikate
    3.1. Wir entfernen alle alten GOST-Zertifikate
    3.2. Wir installieren die Root-Zertifikate
    3.3. Wir laden die Zertifikate der Zertifizierungsstelle herunter
    3.4. Wir installieren das Zertifikat von Rutoken
  4. Wir installieren den speziellen Browser Chromium-GOST
  5. Wir installieren die Erweiterungen für den Browser
    5.1 CryptoPro EDS Browser-Plugin
    5.2. Plugin für staatliche Dienste
    5.3. Wir konfigurieren das Plugin für staatliche Dienste
    5.4. Wir aktivieren die Erweiterungen
    5.5. Wir konfigurieren die Erweiterung CryptoPro EDS Browser-Plugin
  6. Wir überprüfen, dass alles funktioniert
    6.1. Wir gehen zur Testseite von CryptoPro
    6.2. Wir gehen in den persönlichen Bereich auf nalog.ru
    6.3. Wir gehen zu den staatlichen Diensten
  7. Was tun, wenn es nicht mehr funktioniert

Änderung des PIN-Codes des Containers

  1. Ermitteln des Namens des QES-Containers
  2. Änderung des PIN mit einem Befehl aus dem Terminal

Dateien unter macOS signieren

  1. Den Hash des QES-Zertifikats ermitteln
  2. Datei mit einem Befehl aus dem Terminal signieren
  3. Installation des Apple Automator Skripts

Überprüfung der Signatur eines Dokuments

Alle Informationen unten stammen aus autoritativen Quellen (CryptoPro #1 und #2, Rutoken, Korus-Consulting, UFO des Ministeriums für digitale Entwicklung), und die Software wird empfohlen, von vertrauenswürdigen Websites herunterzuladen. Der Autor ist ein unabhängiger Berater und steht in keiner Verbindung zu den genannten Unternehmen. Indem Sie diesen Anweisungen folgen, übernehmen Sie die volle Verantwortung für alle Handlungen und deren Folgen.

Was benötigt wird, um mit QES unter macOS zu arbeiten:

  1. KÄP auf dem USB-Token Rutoken Lite oder Rutoken E-Zertifikat
  2. Kryptocontainer im Kryptopro-Format
  3. mit eingebauter Lizenz für Kryptopro CSP

Die Träger eToken und JaCarta in Verbindung mit Kryptopro unter macOS werden nicht unterstützt. Der Rutoken Lite ist die optimale Wahl, kostet 500..1000 Rubel, arbeitet schnell und ermöglicht die Speicherung von bis zu 15 Schlüsseln.

Die Kryptoprovider VipNet, Signal-COM und LISSI werden unter macOS nicht unterstützt. Die Container können nicht konvertiert werden. Kryptopro ist die beste Wahl, die Kosten für das Zertifikat sollten etwa 1300 Rubel für Einzelunternehmer und 1600 Rubel für juristische Personen betragen.

Normalerweise ist die jährliche Lizenz für Kryptopro CSP bereits im Zertifikat integriert und wird von vielen CA kostenlos bereitgestellt. Wenn dies nicht der Fall ist, muss eine unbefristete Lizenz für Kryptopro CSP der Version 4 zum Preis von 2700 Rubel gekauft und aktiviert werden. Die Kryptopro CSP Version 5 funktioniert derzeit nicht unter macOS.

Wir installieren und konfigurieren QES unter macOS

Offensichtliche Dinge

  • Alle heruntergeladenen Dateien werden im Standardverzeichnis gespeichert: ~/Downloads/;
  • in allen Installationsprogrammen verändern wir nichts, alles bleibt standardmäßig;
  • Wenn macOS eine Warnung ausgibt, dass die Software von einem nicht verifizierten Entwickler stammt – muss der Start in den Systemeinstellungen bestätigt werden: Systemeinstellungen —> Sicherheit & Datenschutz —> Trotzdem Öffnen;
  • Wenn macOS nach dem Benutzerpasswort und der Erlaubnis zur Steuerung des Computers fragt – muss das Passwort eingegeben und alles akzeptiert werden.

1. Installieren Sie Kryptopro CSP

Registrieren Sie sich auf der Website von Kryptopro und von der Downloadseite laden Sie die Version herunter Kryptopro CSP 4.0 R4 für macOSherunterladen.

2. Installieren Sie die Rutoken-Treiber

Auf der Website steht, dass es optional ist, aber es ist besser, es zu installieren. Von der Downloadseite der Rutoken-Website laden wir herunter und installieren Modul zur Unterstützung des Schlüsselbunds (KeyChain)herunterladen.

Dann schließen wir den USB-Token an, starten das Terminal und führen den Befehl aus:

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

Die Antwort sollte lauten:

Aktiv Rutoken…
Karte vorhanden…
[ErrorCode: 0x00000000]

3. Installieren Sie die Zertifikate

3.1. Wir entfernen alle alten GOST-Zertifikate

Wenn zuvor versucht wurde, KÄP unter macOS auszuführen, müssen alle zuvor installierten Zertifikate entfernt werden. Diese Befehle im Terminal löschen nur die Kryptopro-Zertifikate und berühren die regulären Zertifikate im Schlüsselbund unter macOS nicht.

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

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

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

In der Antwort jeder Kommandozeile sollte stehen:

Kein Zertifikat, das den Kriterien entspricht

oder

Löschen abgeschlossen

3.2. Wir installieren die Root-Zertifikate

Die Root-Zertifikate sind für alle digitalen Signaturen gültig, die von einem beliebigen Zertifizierungszentrum ausgestellt wurden. Wir laden von der Downloadseite UFO Minikommunikation:

Wir installieren mit den Befehlen im 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

Jeder Befehl sollte zurückgeben:

Installation:

[ErrorCode: 0x00000000]

3.3. Wir laden die Zertifikate der Zertifizierungsstelle herunter

Als nächstes müssen die Zertifikate der Zertifizierungsstelle installiert werden, bei der Sie Ihre digitalen Signaturen beantragt haben. Normalerweise befinden sich die Root-Zertifikate jeder CA auf deren Webseite im Download-Bereich.

Alternativ können die Zertifikate jeder CA von der Webseite des UFO Minikommunikationheruntergeladen werden. Dazu muss im Suchfeld die CA nach ihrem Namen gesucht, auf die Seite mit den Zertifikaten navigiert und alle gültigen Zertifikate heruntergeladen werden – also solche, bei denen im Feld 'Gültig' das zweite Datum noch nicht erreicht ist. Herunterladen über den Link im Feld 'Fingerprint'.

Screenshots

Qualifizierte elektronische Signatur unter macOS

Qualifizierte elektronische Signatur unter macOS

Am Beispiel der CA Korus-Consulting: Es müssen 4 Zertifikate von der Downloadseite:

Die heruntergeladenen CA-Zertifikate installieren wir mit den Befehlen aus dem 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

wobei nach ~/Downloads/ die Namen der heruntergeladenen Dateien folgen, die für jede CA unterschiedlich sein werden.

Jeder Befehl sollte zurückgeben:

Installation:

[ErrorCode: 0x00000000]

3.4. Wir installieren das Zertifikat von Rutoken

Befehl im Terminal:

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

Der Befehl sollte zurückgeben:

OK.
[ErrorCode: 0x00000000]

4. Wir installieren den speziellen Browser Chromium-GOST

Für die Arbeit mit den staatlichen Portalen ist eine spezielle Version des Browsers Chromium erforderlich – Chromium-GOST. Der Quellcode des Projekts ist öffentlich, der Link zum Repository auf GitHub wird auf der Webseite von CryptoPro. Nach Erfahrung sind andere Browser CryptoFox und Yandex.Browser für die Arbeit mit staatlichen Portalen unter macOS nicht geeignet. Es ist zu beachten, dass in einigen Builds von Chromium-GOST das persönliche Konto auf nalog.ru hängen bleiben oder das Scrollen ganz aufhören kann. Daher wird die alte bewährte Build 71.0.3578.98herunterladen.

heruntergeladen und entpackt. Wir installieren den Browser durch Kopieren oder Drag & Drop in das Verzeichnis Anwendungen. Nach der Installation schließen wir Chromium zwangsweise und öffnen es vorerst nicht, wir arbeiten aus Safari.

killall Chromium-Gost

5. Installieren Sie Erweiterungen für den Browser

5.1 CryptoPro EDS Browser-Plugin

Laden Sie der Downloadseite von der KryptoPro-Website herunter und installieren Sie KryptoPro EDS Browser-Plugin Version 2.0 für Benutzerherunterladen.

5.2. Plugin für staatliche Dienste

Laden Sie der Downloadseite Laden Sie vom Portal der staatlichen Dienstleistungen herunter und installieren Sie Plugin für die Arbeit mit dem Portal der staatlichen Dienstleistungen (Version für macOS)herunterladen.

5.3. Wir konfigurieren das Plugin für staatliche Dienste

Laden Sie die korrekte Konfigurationsdatei für die Erweiterung der staatlichen Dienstleistungen von der KryptoPro-Website herunter – herunterladen.

Führen Sie die Befehle im Terminal aus:

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. Wir aktivieren die Erweiterungen

Starten Sie den Browser Chromium-Gost und geben Sie in die Adresszeile ein:

chrome://extensions/

Aktivieren Sie beide installierten Erweiterungen:

  • CryptoPro Extension for CAdES Browser Plug-in
  • Erweiterung für das Plugin der staatlichen Dienstleistungen

Screenshot

Qualifizierte elektronische Signatur unter macOS

5.5. Wir konfigurieren die Erweiterung CryptoPro EDS Browser-Plugin

Geben Sie in die Adresszeile von Chromium-Gost ein:

/etc/opt/cprocsp/trusted_sites.html

Fügen Sie auf der angezeigten Seite nacheinander die folgenden Websites zu den vertrauenswürdigen Knoten hinzu:

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

Klicken Sie auf „Speichern“. Eine grüne Nachricht sollte erscheinen:

Die Liste der vertrauenswürdigen Knoten wurde erfolgreich gespeichert.

Screenshot

Qualifizierte elektronische Signatur unter macOS

6. Überprüfen Sie, ob alles funktioniert

6.1. Wir gehen zur Testseite von CryptoPro

Geben Sie in die Adresszeile von Chromium-Gost ein:

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

Es sollte „Plugin geladen“ angezeigt werden, und in der Liste darunter sollte Ihr Zertifikat angezeigt werden.
Wählen Sie das Zertifikat aus der Liste aus und klicken Sie auf „Signieren“. Es wird nach dem PIN-Code des Zertifikats gefragt. Am Ende sollte angezeigt werden:

Die Signatur wurde erfolgreich erstellt

Screenshot

Qualifizierte elektronische Signatur unter macOS

6.2. Wir gehen in den persönlichen Bereich auf nalog.ru

Der Zugriff über die Links von der Seite nalog.ru kann nicht möglich sein, da die Überprüfungen nicht bestanden werden. Sie müssen die direkten Links verwenden:

  • Persönlicher Bereich Einzelunternehmer: https://lkipgost.nalog.ru/lk
  • Persönlicher Bereich juristische Person: https://lkul.nalog.ru

Screenshot

Qualifizierte elektronische Signatur unter macOS

6.3. Wir gehen zu den staatlichen Diensten

Bei der Authentifizierung wählen Sie „Einloggen mit elektronischer Signatur“. In der angezeigten Liste „Zertifikatsauswahl für die elektronische Signatur“ werden alle Zertifikate angezeigt, einschließlich der Stamm- und CA-Zertifikate. Wählen Sie Ihr Zertifikat vom USB-Token aus und geben Sie den PIN ein.

Screenshot

Qualifizierte elektronische Signatur unter macOS

Qualifizierte elektronische Signatur unter macOS

7. Was tun, wenn es nicht mehr funktioniert

  1. Trennen Sie den USB-Token und überprüfen Sie, ob er mit folgendem Befehl im Terminal sichtbar ist:

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

  2. Löschen Sie den Cache des Browsers für alle Zeiten, indem Sie in die Adresszeile von Chromium-Gost eingeben:

    chrome://settings/clearBrowserData

  3. Installieren Sie das KEP-Zertifikat mit folgendem Befehl im Terminal neu:

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

Änderung des PIN-Codes des Containers

Der Standard-PIN-Code für den Rutoken 12345678, und darf so nicht belassen werden. Anforderungen an den PIN-Code für den Rutoken: maximal 16 Zeichen, kann lateinische Buchstaben und Zahlen enthalten.

1. Bestimmen Sie den Namen des KEP-Containers

Auf einem USB-Stick und in anderen Speichern können mehrere Zertifikate gespeichert werden, und es ist wichtig, das richtige auszuwählen. Bei eingestecktem USB-Stick erhalten wir die Liste aller Container im System mit dem Befehl im Terminal:

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

Der Befehl sollte mindestens 1 Container ausgeben und zurückgeben

[ErrorCode: 0x00000000]

Der benötigte Container hat die Form

.Aktiv Rutoken liteXXXXXXXX

Wenn mehrere solcher Container angezeigt werden, bedeutet das, dass auf dem Token mehrere Zertifikate gespeichert sind, und Sie wissen, welches genau Sie benötigen. Der Wert XXXXXXXX nach dem Schrägstrich muss kopiert und in den folgenden Befehl eingefügt werden.

2. Ändern Sie die PIN mit einem Befehl im Terminal

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

wo XXXXXXXX – der Name des Containers, der in Schritt 1 erhalten wurde (unbedingt in Anführungszeichen).

Ein Dialog von CryptoPro erscheint mit der Anfrage nach dem alten PIN-Code für den Zugriff auf das Zertifikat, dann ein weiterer Dialog zur Eingabe des neuen PIN-Codes. Fertig.

Screenshot

Qualifizierte elektronische Signatur unter macOS

Dateien unter macOS signieren

In macOS können Dateien mit der Software CryptoArm (Lizenzpreis 2500= Rub.), oder mit einem einfachen Befehl über das Terminal – kostenlos.

1. Ermitteln Sie den Hash des KEP-Zertifikats.

Auf dem Token und in anderen Speichern kann es mehrere Zertifikate geben. Es ist notwendig, eindeutig zu identifizieren, mit welchem wir künftig Dokumente signieren werden. Dies geschieht einmal.
Der Token muss eingesteckt sein. Wir erhalten die Liste der Zertifikate in den Speichern mit dem Befehl im Terminal:

/opt/cprocsp/bin/certmgr -list

Der Befehl sollte mindestens 1 Zertifikat in der Form ausgeben:

Certmgr 1.1 © «Crypto-Pro», 2007-2018.
Programm zur Verwaltung von Zertifikaten, CRLs und Speichern
= = = = = = = = = = = = = = = = = = = =
1——-
Aussteller: E=help@esphere.ru,… CN=OOO KORUS Consulting СНГ…
Betreff: E=sergzah@gmail.com,… CN=Zachаров Сергей Анатольевич…
Seriennummer: 0x0000000000000000000000000000000000
SHA1-Hash: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Container: SCARDrutoken_lt_00000000 000 000

= = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]

Das benötigte Zertifikat muss im Parameter Container einen Wert in der Form haben SCARDrutoken…. Wenn es mehrere Zertifikate mit solchen Werten gibt, bedeutet das, dass auf dem Token mehrere Zertifikate gespeichert sind, und Sie wissen, welches genau Sie benötigen. Der Wert des Parameters SHA1-Hash (40 Zeichen) muss kopiert und in den folgenden Befehl eingefügt werden.

2. Signieren Sie die Datei mit einem Befehl im Terminal

Im Terminal wechseln wir in das Verzeichnis mit der zu signierenden Datei und führen den Befehl aus:

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

wo XXXX… – der Hash des Zertifikats, der in Schritt 1 erhalten wurde, und FILE – der Name der Datei zur Signatur (mit allen Erweiterungen, aber ohne Pfad).

Der Befehl sollte zurückgeben:

Eine signierte Nachricht wird erstellt.
[ErrorCode: 0x00000000]

Es wird eine Datei mit der elektronischen Signatur mit der Endung *.sgn erstellt – dies ist die abgetrennte Signatur im CMS-Format mit DER-Kodierung.

3. Installation des Apple Automator-Skripts

Um nicht jedes Mal mit dem Terminal arbeiten zu müssen, kann man einmal ein Automator-Skript einrichten, mit dem man Dokumente über das Kontextmenü im Finder signieren kann. Dazu laden wir das Archiv herunter – herunterladen.

  1. Entpacken Sie das Archiv ‘Sign with CryptoPro.zip’
  2. Starten Automator
  3. Wir suchen und öffnen die entpackte Datei ‘Sign with CryptoPro.workflow’
  4. Im Block Run Shell Script ändern wir den Text XXXXXXXXXXXX in den Wert des Parameters SHA1-Hash des KEP-Zertifikats, das oben erhalten wurde.
  5. Wir speichern das Skript: ⌘Command + S
  6. Wir starten die Datei ‘Sign with CryptoPro.workflow’ und bestätigen die Installation.
  7. Wir gehen zu System Einstellungen —> Erweiterungen —> Finder und überprüfen, dass Sign with CryptoPro schnelle Aktion markiert ist.
  8. Im Finder rufen wir das Kontextmenü einer beliebigen Datei auf, und im Abschnitt Schnelle Aktionen und/oder Dienste wählen wir den Punkt Sign with CryptoPro
  9. Im erscheinenden Dialogfeld von KryptoPro geben Sie den PIN-Code des Benutzers für die KEP ein
  10. Im aktuellen Verzeichnis wird eine Datei mit der Endung *.sgn erscheinen – eine abgetrennte Signatur im CMS-Format mit DER-Codierung.

Screenshots

Fenster Apple Automator:
Qualifizierte elektronische Signatur unter macOS

Systemeinstellungen:
Qualifizierte elektronische Signatur unter macOS

Kontextmenü Finder:

Qualifizierte elektronische Signatur unter macOS

Überprüfung der Signatur eines Dokuments

Wenn der Inhalt des Dokuments keine Geheimnisse und Geheimnisse enthält, ist es am einfachsten, den Webdienst auf dem Portal der staatlichen Dienstleistungen zu nutzen – https://www.gosuslugi.ru/pgu/eds. So kann man einen Screenshot von einer autorisierten Quelle machen und sicher sein, dass mit der Signatur alles in Ordnung ist.

Screenshots

Qualifizierte elektronische Signatur unter macOS

Qualifizierte elektronische Signatur unter macOS

Quelle: habr.com

60GB SSD 8Gb DDR4