So signieren Sie eine XML-Datei mit einer digitalen Signatur. Anleitung zum Signieren von Dateien mit einer elektronischen Signatur

Die drängendste Frage war für mich lange Zeit, wie und womit man Dokumente und XML-Dateien elektronisch signieren bzw. signieren kann Digitale Unterschrift. Gut, wenn Sie im Büro sind und alle Programme zum Signieren von Dokumenten und XML-Dateien an Ihrem Arbeitsplatz installiert sind. Aber in meiner Arbeit ergaben sich oft Situationen, in denen es notwendig war, Dokumente, XML-Dateien zu erstellen und zu signieren, weit entfernt von meinem Arbeitsplatz oder wie immer dringend jetzt zu Hause erledigt. Es ist zu teuer, eine Software zum Signieren mit einer elektronischen digitalen Signatur zu kaufen und zu installieren, auch zu Hause oder auf einem Laptop, und sie für immer mit sich zu führen. Dann habe ich mich auf die Suche nach frei erhältlichen Programmen im Internet gemacht, die Dokumente und XML-Dateien mit einer elektronischen digitalen Signatur – EDS – signieren können. Es sind diese Programme, sowie ein kostenpflichtiges, die wir im Folgenden betrachten werden.

Um an Rosreestr gesendet zu werden, und dies ist obligatorisch, müssen alle Dokumente mit einer EDS (elektronische digitale Signatur) signiert sein, und manchmal müssen Sie Ihre eigene oder die EDS einer anderen Person überprüfen.

Überlegen Sie also, wie und was Software-Tools Sie können ein Dokument oder eine XML-Datei mit einer elektronischen digitalen Signatur signieren. Eines der Programme ist das GIS "Panorama" - "Map-2011" Version 11.10.4. Das Signieren von Dokumenten funktioniert auch in der unregistrierten Version. Das Verfahren zum Signieren von Dokumenten, Dateien Liste der Programme, mit denen Sie Dokumente, XML-Dateien, EDS (elektronische digitale Signatur) für den Datenaustausch mit dem Portal signieren können öffentlicher Dienst Bundesdienst Staatsregistrierung, Kataster und Kartographie, Rosreestr, über das Internet EDS ist wie folgt: Starten Sie "Map-2011" oder "Mini-Map", drücken Sie "F12", um das Startmenü der Anwendung aufzurufen. Wählen Sie im angezeigten Fenster eine Aufgabe aus elektronische Dokumente, Weiter Bildung einer elektronischen digitalen Signatur

Signaturdatei: Wählen Sie die Datei aus, die Sie signieren möchten, und entsprechend das gewünschte Zertifikat im Zertifikat. Das ist alles Ihr Dokument oder Ihre XML-Datei wird mit EDS signiert. Wenn Sie eine bereits vorhandene Signatur prüfen möchten, wählen Sie die Signaturdatei (die Datei mit der Endung „sig“) aus. Offizielle Website von GIS "".

Das zweite Programm zum Signieren von Dokumenten, XML-Dateien ist CryptoLine. Kostenlos, voll funktionsfähig, ermöglicht es Ihnen, Dokumente zu signieren, zu verschlüsseln und die digitale Signatur zu überprüfen. Herunterladen dieses Programm Sie können von der offiziellen Website oder über einen direkten Link von der Seite dieser Website herunterladen. Die Arbeit mit dem Programm ist einfach und komfortabel. Wählen Sie Dateien aus, die signiert werden müssen, und fügen Sie sie hinzu. Wählen Sie dann ein Zertifikat aus, das Sie zum Signieren von Dokumenten, XML-Dateien und Signieren von Dokumenten benötigen. Achtung - nur ein Zertifikat zum Signieren auswählen !!! Andernfalls werden die Dokumente mit genau so vielen Zertifikaten signiert, wie Sie dem Programm hinzufügen. Die Bedienungsanleitung befindet sich im Archiv des Programms. Um den Wechsel zu Rossreestr zu unterzeichnen, gebe ich unten ein Beispiel.

Nachdem Sie das Programm installiert und ausgeführt haben, fügen Sie dem Programm die Dateien hinzu, die signiert werden müssen. Registerkarte „Aktionen“, Schaltfläche „Hinzufügen“.

Um alle Dateien auf einmal zu signieren, müssen Sie sie alle auswählen - "Umschalt + rechte Maustaste" oder "Umschalt + Pfeil nach unten". Klicken Sie dann auf "Signieren", fügen Sie im angezeigten Fenster entweder ein Zertifikat hinzu oder lassen Sie das zuvor ausgewählte Zertifikat oder ändern Sie es in ein anderes. Ich erinnere mich noch einmal daran, dass für die Lieferung an Rosreestr in diesem Fenster nicht mehr als 1 Zertifikat vorhanden sein sollte! Stellen Sie außerdem alle Einstellungen wie in der Abbildung gezeigt ein:

Wir unterschreiben. Nach dem Signieren werden Dateien mit der Erweiterung „sigO“ zu Ihrer Liste hinzugefügt. Dies ist die Signatur der Datei. Es bleibt nur das Hochladen der Signaturdateien oder aller Dateien (nach Ihrem Ermessen). Wählen Sie aus, was Sie hochladen möchten, in diesem Fall drei Signaturdateien, und klicken Sie auf „Hochladen“. Das ist wie alles. Aber wie alle freier Käse Es gibt eine kleine Nuance. Rosreestr schwört auf die Dateiendung „sigO“, also braucht man sie im Explorer oder in jedem Dateimanager Benennen Sie die Erweiterung von "sigO" in "sig" um.

Die Signatur dieses Programms wurde von der Rosreestr-Website nicht verifiziert. Die Signaturprüfung wurde durchgeführt Softwareprodukte die mit dem Portal der öffentlichen Dienste des Föderalen Dienstes für staatliche Registrierung, Kataster und Kartographie interagieren. Alle drei Programme, die die von diesem Programm ausgeführte Signatur überprüften, ergaben ein positives Ergebnis. Die Verifizierung erfolgte durch die hier angegebenen Programme GIS "Panorama", Crypto AWP und das Planprogramm Polygon-Land Survey. Die Signatur wurde ebenfalls überprüft. OnlineserviceÜberprüfung der Echtheit der elektronischen digitalen Signatur auf der Website.

Ein weiteres Programm zum Signieren von Dokumenten und XML-Dateien ist . Sie können es von der offiziellen Website des Programms herunterladen. Das Programm selbst ist ziemlich funktional und attraktiv, die Kosten sind nicht hoch, nur 1200 Rubel für 1 Arbeitsplatz. Die gibt es. Unterstützung und erweiterte Hilfe. Die vollständigsten und aktuellsten Informationen erhalten Sie unter. Lesen Sie auch über EDS im Hinweis

Ein edler Zweck adelt die Aktivität im Namen dieses Zwecks.K. Liebknecht

Der Artikel beschreibt das Signieren von Dokumenten (pdf, word, excel, xml, archive) mit EDS. Überlegen Sie, welche Software benötigt wird, um Dokumente mit einem EDS zu signieren, ihre Vor- und Nachteile.

So signieren Sie eine Datei mit einem EDS

Es gibt zwei Programme, mit denen Sie eine Datei mit einem EDS signieren können:

  1. ViPNet-Kryptodatei;
  2. CryptoARM.

ViPNet-Kryptodatei

Mit diesem Programm können Sie beliebige Dateien signieren, zum Beispiel: doc, xls, jpg, xml, txt, eine EDS-Erklärung signieren, archivieren. Nach dem Signieren endet die Datei mit .sig

Vorteile: kostenloses Programm, das eine Registrierung auf der Website erfordert (erhalten Sie den Schlüssel unter Email). Es ist auch möglich, die an die Datei angehängte Signatur beim Signieren einer Datei mit einem EDS zu verwenden, d.h. die Datei und der Schlüssel befinden sich in derselben Datei oder getrennt von der Datei.

Minuspunkte: beim Signieren können Sie nur eine elektronische Signatur hinzufügen;

Sie können ein EDS-Dokument signieren Rechtsklick Klicken Sie auf die Datei und wählen Sie ViPNet CryptoFile -> Sign im ViPNet-Menü.

CryptoARM

Minuspunkte: kostenpflichtige Software;

Vorteile: Sie können viele hinzufügen EDS-Signaturen beim Signieren einer Datei.

Um ein Dokument mit einem EDS zu signieren, können Sie mit der rechten Maustaste auf die Datei klicken und im Menü CryptoARM -> Signieren auswählen.

So signieren Sie ein PDF mit einem EDS

Wenn Sie ein Dokument beispielsweise für Steuern signieren müssen, lesen Sie die Anweisungen oben „So signieren Sie eine Datei mit einem EDS“. Wenn Sie jedoch eine Signatur mit einem sichtbaren Teil des Dokuments benötigen, lesen Sie die nachstehenden Anweisungen.

Um ein PDF-Dokument mit einem EDS zu signieren, ist eine Software erforderlich.

Vorteile: Die elektronische Signatur ist im Dokument sichtbar.

Minuspunkte: Programmkosten (90 Tage kostenlos.)

Außerdem müssen Sie installieren Acrobat Reader DC oder Adobe Acrobat Pro.

Bevor Sie eine elektronische Signatur in ein PDF-Dokument einfügen, müssen Sie Acrobat Reader DC so konfigurieren, dass es mit dem Programm CryptoPro PDF funktioniert. Drücken Sie dazu in Acrobat Reader DC Strg + K oder gehen Sie in den Kategorien zum Menü Bearbeiten -> Einstellungen Signaturen auswählen -> dort auf „Erstellen und gestalten“ klicken Mehr Details siehe Bild:

Wählen Sie in der „Standard-Signaturmethode“ CryptoPro PDF wie in der Abbildung aus:

Wir unterschreiben pdf-Dokument mit EDS

Öffnen Sie das PDF-Dokument -> klicken Sie im rechten Bereich auf „Ausfüllen und unterschreiben“.

Klicken Sie im oberen Bereich des Acrobat Reader-Programms auf "Ausfüllen und unterschreiben" -\u003e "Zusätzliche Tools".

Sie müssen das Tool Zertifikate auswählen, um es dem Bereich hinzuzufügen.

Nachdem Sie auf Zertifikate geklickt haben, erscheint das Werkzeug „Digitale Signatur“ im Bedienfeld, klicken Sie darauf und wählen Sie dann mit dem Cursor den Bereich aus, in dem wir eine digitale Signatur platzieren möchten. Ein Fenster mit einer Zertifikatsauswahl wird angezeigt.

Zertifikat auswählen -> OK -> Signieren.

Eine digitale Signatur im PDF-Format sieht so aus:



Unser PDF-Dokument ist signiert, ebenso können Sie mehrere Signaturen in eine PDF-Datei einfügen.

So signieren Sie ein Word-Dokument mit einem EDS

Wenn Sie ein Dokument mit einem sichtbaren Teil der Unterschrift im Dokument signieren müssen, lesen Sie die nachstehenden Anweisungen. Wenn Sie jedoch ein Word-Dokument signieren und beispielsweise an das Finanzamt senden müssen, lesen Sie die oben stehende Anweisung „Wie eine Datei mit einem EDS zu signieren“ zu Ihnen passt.

Um zu unterschreiben Word-Datei Mit Hilfe von EDS benötigen wir das Programm CryptoPro Office Signature.

- kostenpflichtige Software, die zum Signieren von Wort- und Excel-Dokumenten verwendet wird.

Nach der Installation können Sie sofort mit dem Signieren von Word-Dokumenten mit einem EDS beginnen, dazu öffnen wir ein Word-Dokument, das mit einem EDS signiert werden muss -> Menü Bewerten -> Klicken Sie im Textblock auf Signaturzeile und wählen Sie Signaturzeile (CRYPTO -PROFI).

Angenommen, Sie müssen zwei elektronische Signaturen in ein Word-Dokument einfügen. Dazu führen wir den oben gezeigten Vorgang zweimal aus, ohne zu signieren. Da das Dokument nach dem Signieren mit einer Signatur nicht mehr bearbeitet werden kann. Daher fügen wir zwei Felder für eine elektronische Signatur ein.

Danach können Sie signieren, indem Sie auf eine Signatur klicken, ein EDS auswählen und signieren, dann dasselbe mit der zweiten Signatur tun.

Ein digital signiertes Word-Dokument sieht so aus:


So signieren Sie ein Excel-Dokument mit einer digitalen Signatur

Ich werde mich nicht wiederholen, um ein Excel-Dokument mit einem EDS zu signieren, müssen Sie alles genauso machen wie für Word, siehe etwas höher.

Aufmerksamkeit: Wenn Sie unterschreiben müssen Excel-Dokument mit einem sichtbaren Teil der Unterschrift im Dokument, dann lesen Sie die Anleitung weiter "So signieren Sie ein Word-Dokument mit einem EDS", wenn Sie ein Excel-Dokument signieren und zum Beispiel an das Finanzamt senden müssen, dann die Anleitung oben auf der Seite "So signieren Sie eine Datei mit einem EDS" wird Ihnen gefallen.

So schließen Sie einen Vertrag mit einem EDS ab

Lesen Sie je nach Format, in dem der Vertrag erstellt wurde, den obigen Artikel So signieren Sie ein Word- oder PDF-Dokument.

So unterzeichnen Sie eine Vollmacht mit einem EDS

Lesen Sie den obigen Artikel und wählen Sie die entsprechende Option zum Unterzeichnen einer Vollmacht mit einem EDS.

Fragen:

Ist das Bearbeiten einer signierten EDS-Datei erlaubt?

- Nein, nach dem Signieren der Datei ist es nicht möglich, sie zu bearbeiten. Wenn Sie beispielsweise versuchen, den in Word signierten Text zu bearbeiten, werden alle Signaturen gelöscht.

Wie sieht ein EDS-signiertes Dokument aus?

- Es hängt alles davon ab, wie Sie das Dokument unterschrieben haben. Wenn das Dokument wie in der Anleitung zu Beginn signiert wurde, hat die Datei die Endung .sig. Außerdem können die Datei und das EDS eine separate Datei sein, dies hängt von der Methode zum Signieren der Datei ab.

Wenn Sie ein PDF-, Word- oder Excel-Dokument mit signiert haben spezielle Programme, eine Unterscheidung ist nicht möglich. Es ist notwendig, das Dokument zu öffnen und sich bereits darin zu vergewissern, ob eine Unterschrift vorhanden ist oder nicht.

In einem der laufenden Projekte wurde die Aufgabe des Signierens (Anbringen einer ES - einer elektronischen Signatur) von XML-Dokumenten, nämlich SOAP-Paketen, gelöst. Das empfohlene Format war OASIS Standard 200401 mit X.509 Certificate Token Profile . Diese Dokumente beschreiben die Verwendung des Formats XML Digital Signature (XMLDSig) des World Wide Web Consortium (W3C) in SOAP-Nachrichten. XML-Signaturen unterstützen, wie andere Arten von ES, Authentifizierung, Datenintegrität und Unbestreitbarkeit der Datensignierung.

Ich werde einige Merkmale des XMLDSig-Formats erwähnen:

1. Gegenstand der Signatur kann nicht das gesamte XML-Dokument sein, sondern nur dessen Teil, d.h. bestimmten Knoten. Gemäß OASIS Standard 200401 ist das zu signierende Objekt der Body (node Körper) SOAP-Nachrichten.

2. Verschiedene Teile eines XML-Dokuments können von mehr als einer Person signiert werden.

3. Eine XML-Signatur kann sich in Bezug auf das zu signierende Objekt auf verschiedenen Ebenen befinden:

  • Signaturstruktur enthalten kann URI(einheitliche Ressourcenkennung);
  • Eine XML-Signatur kann sich auf derselben Ebene befinden wie der zu signierende Knoten;
  • Die XML-Signatur kann sich innerhalb des zu signierenden Knotens befinden;
  • der zu signierende Knoten kann sich innerhalb einer XML-Signaturstruktur befinden.

4. Zur Überprüfung der Gültigkeit der EU ist der Zugriff auf das Signierobjekt erforderlich.

Die Struktur eines SOAP-Cover

Im Allgemeinen besteht eine Nachricht aus einem Header und einem Body: Header und Körper. Header enthält Metadaten und Körper Daten. Eine XML-Signatur wird in einem Knoten platziert Header.

Kryptographische Algorithmen und Kanonisierung.

Um das Problem zu lösen, haben wir verwendet GOST R 34.11-94- Russischer kryptografischer Standard zur Berechnung der Hash-Funktion und GOST R 34.10-2001- Standard für elektronische Unterschriften.

Aufgrund der Flexibilität der XML-Kompositionsregeln können die gleiche Dokumentstruktur und die gleiche Information durch verschiedene XML-Dokumente dargestellt werden. Betrachten Sie zwei Dokumente:

Aus logischer Sicht sind sie gleichwertig, dh sie haben das gleiche XML-Schema. Die XML-Dateien dieser Auflistungen enthalten jedoch nicht die gleiche Zeichenfolge, was beispielsweise bei der Ermittlung eines Hash-Werts zu unterschiedlichen Ergebnissen führt.

Um solche Diskrepanzen zu vermeiden, wurden strenge Formatierungsregeln und -anforderungen für den Inhalt von XML-Nachrichten eingeführt. Der Prozess, XML-Dokumente in eine einheitliche (kanonische) Form zu bringen, wird aufgerufen Kanonisierung(englische Kanonisierung). Beispiele für Regeln können die Verwendung eines bestimmten Codierungsschemas (UTF-8), die Normalisierung von Attributwerten, die Verwendung von doppelten Anführungszeichen für Attributwerte, eine bestimmte Reihenfolge von Attributen und Namespace-Deklarationen usw. sein. Es gibt verschiedene Arten der XML-Kanonisierung die sich in der Zusammensetzung der Regeln unterscheiden. Sie können mehr über den Kanonisierungsprozess in der offiziellen W3C-Spezifikation lesen (Russischsprachige Artikel zu diesem Thema finden Sie unter und)

SIRCrypt-Bibliothek

Um die XML-Signierung in DIRECTUM zu implementieren, wurde eine COM-Bibliothek geschrieben, in der 3 Klassen beschrieben sind: Hasher, Unterzeichner und XMLCanonicalizer um den Hash, den ES-Wert bzw. die Kanonisierung von XML-Dokumenten zu erhalten.

Die Bibliothek verlangt Crypto PRO CSP(getestet auf Version Crypto PRO CSP 3.6.6497 KC2) und .NETZ(mindestens 2,0).

Das Registrieren einer Bibliothek erfolgt durch Ausführen des folgenden Befehls:

> regasm.exe "Pfad zur DLL" /codebase /tlb

Hasher-Objekt zur Hash-Berechnung nach GOST

Enthält Felder Inhalt (geben Sie „String“ ein) und HashValueAsBase64 (Typ "String"), sowie eine Methode zur Berechnung des Wertes der Hash-Funktion Hash(). Um zu berechnen, ist es notwendig zu bedeuten Inhalt , rufen Sie die Methode auf Hash(), wodurch im Feld HashValueAsBase64 Der Hash-Funktionswert wird in Base64 geschrieben.

Unterzeichnerobjekt zur Erlangung des ES-Wertes nach GOST

Enthält Felder Inhalt (geben Sie „String“ ein), Containername (geben Sie „String“ ein), ZertifikatAsPEM (geben Sie „String“ ein), BESignatureValueAsBase64 (Typ "String"), Methode Zeichen(). Nachdem das Objekt initialisiert wurde, muss es initialisiert werden Inhalt (Daten zum Signieren), Containername (Name des privaten Schlüsselcontainers des Zertifikats), rufen Sie die Methode auf Zeichen(). Dann auf dem Feld ZertifikatAsPEM Das dem privaten Schlüssel entsprechende Zertifikat befindet sich in Base64 und im Feld BESignatureValueAsBase64 Signaturwert als Base64-String.

XMLCanonicalizer-Objekt für die XML-Kanonisierung

Enthält Felder XMLContent (geben Sie „String“ ein), CanonicalXML (Typ "String"), Methode C14NExc(). Um die kanonische Form von XML zu erhalten, müssen Sie meinen XMLContent , Anruf C14NExc(), erhalten Sie das Ergebnis aus dem Feld CanonicalXML .

XML-Signaturstruktur

Das Erstellen einer Signatur sieht so aus: Zunächst wird die Basis des Soap-Pakets gebildet, die Nodes Header und Körper. Körper mit Daten gefüllt und Attribute hinzugefügt wsu:ID="Körper"- Kennung der zu signierenden Daten.

Strukturfüllung Sicherheit geschieht in folgender Reihenfolge:

  1. Der Hashwert wird in kanonischer Form aus dem Body-Knoten genommen und in den DigestValue-Knoten gestellt.
  2. Knoten SignierteInfo auf kanonische Form reduziert, unterzeichnet von EP. Das Ergebnis im Base64-String-Format geht an den Knoten Signaturwert.
  3. Der öffentliche Schlüssel des signierten Zertifikats wird im Knoten abgelegt BinarySecurityToken im Base64-String-Format.

Um das so erzeugte ES zu prüfen, müssen alle Schritte in umgekehrter Reihenfolge durchgeführt werden, nämlich:

  1. Holen Sie sich die kanonische Form des Elements SignierteInfo.
  2. Überprüfen Sie anhand des Ergebnisses des vorherigen Schritts, ob der Wert des EP vom Knoten gültig ist Signaturwert unter Verwendung des öffentlichen Schlüssels des Zertifikats. Auf diese Phase es wird lediglich die Korrektheit der ES überprüft, was die Unveränderlichkeit der Daten nicht garantiert.
  3. Wenn die ES-Gültigkeitsprüfung erfolgreich ist, wird der Hash von dem Knoten verglichen DigestWert und ein Hash aus dem Datenknoten. Wenn sie nicht gleich sind, wurden die signierten Daten geändert und die gesamte ES ist ungültig.

Anwendungsbeispiel

Entwicklungspaket und Bibliothek

Beispiele für das Signieren von XML an ISBL (Skript): dev.zip (5,95 KB)

Zur dauerhaften Verwendung wird der Code, der die typische Signierung des fertigen SOAP-Umschlags durchführt, in die Funktion verschoben SignSOAP().

Beim Signieren wird ein Zertifikat aus dem persönlichen Zertifikatspeicher des aktuellen Benutzers verwendet.

Gemäß dem Gesetz 218-FZ „Über die staatliche Registrierung von Immobilien“ müssen elektronische XML-Dokumente und gescannte Bilder von Dokumenten signiert werden erweiterte qualifizierte elektronische Signatur. Alle Programme der Serien „Polygon“, „Polygon Pro“ und das Programm „Signature Pro“ sind mit einer solchen Signatur signiert.

Zur Unterschrift:

    Bekommen Signaturschlüssel(Zertifikat) bei der Zertifizierungsstelle. Die Liste der akkreditierten Zertifizierungsstellen wird auf der Rosreestr-Website veröffentlicht (Liste der Zertifizierungsstellen). Ein Zertifikat erhalten Sie in unserem Certification Center LLC „Program Center“.

    Kaufen Sie das Programm zusammen mit der Signatur und installieren Sie es auf Ihrem Computer CryptoPro-CSP (es enthält die erforderlichen russischen Signaturstandards), die auch von unserem Certification Center LLC Program Center erworben werden können.

Andere Programme zum Signieren sind nicht erforderlich: CryptoARM (CryptoARM-Funktionen in Bezug auf Signaturen ähneln den Funktionen der Programme der Polygon-Serie, Polygon Pro und des Signature Pro-Programms).

Softwaremodule der Polygon Pro-Plattform

Signieren Sie ein elektronisches Dokument im Polygon Pro-Programm

Gehen Sie wie folgt vor, um eine XML-Datei zu signieren:

  • Generieren Sie ein elektronisches Dokument ohne Fehler.


Sie können eine XML-Datei sofort im " XML anzeigen“, klicken Sie dazu in der Symbolleiste auf die Schaltfläche - „XML-Datei signieren“.

  • Nach dem Anklicken öffnet sich ein Listenfeld. installierte Zertifikate. Wählen Sie die gewünschte aus und klicken Sie darauf "OK".

  • Das Programm signiert das Hauptdokument und zeigt eine Erfolgsmeldung an.

Im selben Ordner wie die signierte Datei wird eine Signaturdatei mit demselben Namen und der Erweiterung * erstellt. .sign.

Signieren Sie eine Gruppe von Dateien im Polygon Pro-Programm

Das Programm kann eine Gruppe von Dateien gleichzeitig signieren. Gehen Sie dazu wie folgt vor:

  • Auf Band Softwaremodul Tab "Heim" Drücken Sie die Taste und wählen Sie aus dem Untermenü. Es öffnet sich ein Fenster mit einer Auswahl an Projektdateien (standardmäßig sind alle Projektdateien ausgewählt).
  • Wenn die Liste Dateien enthält, die Sie nicht signieren müssen, deaktivieren Sie sie.

  • Drück den Knopf "Zeichen". Es öffnet sich ein Fenster mit einer Liste der installierten Zertifikate. Wählen Sie die gewünschte aus und klicken Sie darauf "OK".
  • Das Programm signiert alle Dokumente und zeigt eine Erfolgsmeldung an.

    Treten beim Signieren Fehler auf, wird ein Prüfprotokoll mit Warnungen und/oder Fehlern ausgegeben. Für eine korrekte Unterzeichnung ist es erforderlich, Fehler zu korrigieren.

    Signieren Sie eine Datei in den Softwaremodulen der Polygon Pro-Plattform

    Das Programm kann absolut jede Datei signieren.

      Es öffnet sich ein Fenster mit einer Liste der installierten Zertifikate. Wählen Sie die gewünschte aus und klicken Sie auf " OK».

    • Das Programm schließt die Unterzeichnung der Dokumente ab und zeigt eine Erfolgsmeldung an.

    Im selben Ordner wie die signierte Datei wird eine Signaturdatei mit demselben Namen und der Erweiterung *.sig.

    Überprüfen Sie die elektronische Signatur im Programm Polygon Pro

    Wenn Sie eine signierte Datei von außen erhalten haben und überprüfen möchten, ob sie geändert wurde, oder einfach nur die Korrektheit der generierten Dateisignatur überprüfen möchten, gehen Sie folgendermaßen vor:

    • Auf der Multifunktionsleiste des Programmmoduls im Reiter " Heimat» im Untermenü des Buttons « Alle unterschreiben" Drücken Sie den Knopf " Verifizieren…».

    • Wählen Sie die Datei aus, die die Signatur enthält (mit der Erweiterung *.sig) zu verifizieren, oder eine signierte Datei.

    Sind diese beiden Dateien in verschiedene Ordner, zeigt das Programm ein Warnfenster an. Drück den Knopf Wiederholen» und wählen Sie die Quelldatei aus.

    • Es öffnet sich ein Protokoll mit Informationen darüber, ob das Dokument korrekt, von wem und wann unterzeichnet wurde.

    Programm "Signatur Pro"

    Für eine bequeme Interaktion mit der Zertifizierungsstelle, dem Management digitale Zertifikate und private Schlüssel EP sowie zur Unterzeichnung verschiedene Dateien Es wurde ein Programm mit elektronischer Signatur entwickelt.

    Wie signiere ich eine Datei mit einer digitalen Signatur?

    Diese Anleitung ist ein Beispiel, die konkreten Schritte können von der Installation auf Ihrem Computer abhängen. Software. Ein Teil des Unterrichts wurde im Februar 2012 abgeschlossen, unsere Programme bieten jedoch eine bequemere Option zum Signieren von Dateien elektronische Dokumente erweiterte qualifizierte elektronische Signatur.

    So signieren Sie elektronische Dokumentdateien: Grenzplan, Kartenplan, technischer Plan elektronische Signatur, müssen Sie das Vorhandensein überprüfen installierte Programme:

      Krypto-Anbieter „CryptoPro CSP“;

      "Krypto-ARM" - dieses Programm ist nur erforderlich, wenn Sie keine Programme der "Polygon"-Serie verwenden, dieses Programm ist in Bezug auf die Signierung identisch mit den Programmen der "Polygon"-Serie, daher wird es nicht benötigt; Informationen zum Signieren von Dateien mit Programmen der "Polygon" -Serie finden Sie auf der vorherigen Seite der Anleitung. Sie können sowohl mit den Programmen der Polygon-Serie als auch mit dem CryptoARM-Programm signieren, wenn Sie der Meinung sind, dass dies bequemer ist, als die vorhandenen Funktionen der Programme der Polygon-Serie zu verwenden;

    Jede Datei (XML, Scan eines gedruckten Dokuments und Antragsdateien) muss signiert werden, da die Katasterbehörde nur Dateipaare akzeptiert: die Originaldatei und die Signaturdatei dazu. Um eine Datei zu signieren, wählen Sie sie im Explorer-Fenster aus und klicken Sie mit der rechten Maustaste (RMB), sie wird angezeigt Kontextmenü, darin sollten Sie den Punkt „CryptoARM“ auswählen und dann „ Zeichen…».



    Stellen Sie dann sicher, dass der Dateiname korrekt ist



    Wichtig! Stellen Sie den Schalter auf " DER-Codierung“, geben Sie den Ordner für Ausgabedateien nach eigenem Ermessen an. Drücken Sie den Knopf " Weiter". Weisen Sie im nächsten Fenster Signaturparameter zu


    In diesem Fenster ist das Wichtigste, das Kontrollkästchen " Signatur speichern unter separate Datei ". Drück den Knopf Weiter". Klicken Sie im nächsten Fenster auf " Wählen»


    Das Zertifikatsauswahlfenster wird geöffnet


    Wählen Sie darin das Zertifikat Ihres Schlüssels aus (suchen Sie nach dem Namen des Besitzers). Drücken Sie nach der Auswahl die Taste OK" und " Weiter". Klicken Sie im letzten Fenster vor dem Signieren des Dokuments auf das Symbol " Bereit».

    Wichtig! Für jede Datei müssen Sie eine Signaturdatei erstellen, da nur ein Paar akzeptiert wird: die Originaldatei (xml oder eine andere) + ihre Signatur (Sig-Datei).

Ich kann zu keinem gemeinsamen Verständnis der Mechanismen zum Signieren von XML-Dokumenten kommen. Für Verständnishilfe wäre ich dankbar)

Meine Situation ist folgende:

1) Es gibt eine Zertifizierungsstelle, deren ausgestellte Zertifikate auf Servern angebracht sind Windows-Speicher.. zu persönlich, vertrauenswürdig und so weiter .. nicht der Punkt.

Beim Einloggen in die Anwendung signiert der Benutzer einen zufällig generierten String mit einem Zertifikat seiner Wahl. Auf dem Server wird diese Signatur verifiziert:

CAPICOM.SignedData _signedData = new CAPICOM.SignedData(); _signedData.Verify(signedData, false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE); if (_signedData.Content != data) throw new Exception("Signierter Inhalt stimmt nicht mit empfangenem Inhalt überein"); var_certificate = _signedData.Certificates; // Benutzerzertifikat

So erhalten wir das Benutzerzertifikat (öffentlicher Schlüssel). Wichtig ist, dass die Signatur die Verifizierung nur besteht, wenn der entsprechende öffentliche Schlüssel des Zertifikats auf dem Server im Zertifikatsspeicher liegt. Dies ist, was wir brauchen, um nur diejenigen zuzulassen, deren Zertifikate wir selbst ausgestellt haben.) Hier scheint es klar zu sein.

2) Jetzt ist es notwendig, dass dieselben Benutzer xml mit ihren Zertifikaten signieren. Meine Software auf dem Client generiert die XML selbst und signiert sie mit einem benutzerspezifischen Zertifikat:

Public static void SignXml(XmlDocument xmlDoc, /*RSA*/AsymmetricAlgorithm Key) ( SignedXml signedXml = new SignedXml(xmlDoc); signedXml.SigningKey = Key; Reference reference = new Reference(); reference.Uri = "";//signature gesamtes XML-Dokument XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform(); reference.AddTransform(env); signedXml.AddReference(reference); KeyInfo keyInfo = new KeyInfo(); keyInfo.AddClause(CryptService.GetKeyInfoClause(Key)); // RSA oder GOST signedXml.KeyInfo = keyInfo; signedXml.ComputeSignature(); XmlElement xmlDigitalSignature = signedXml.GetXml(); xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true)); )

XmlDocument doc = neues XmlDocument(); doc.PreserveWhitespace = true; doc.Laden (Pfad); SignedXml sx = new SignedXml(doc); XmlNodeList nodeList = doc.GetElementsByTagName("Signature"); sx.LoadXml((XmlElement)nodeList); Rückgabe sx.CheckSignature();

Der Code funktioniert, aber ich habe Verständnisfragen: In diesem Fall können Sie die XML-Datei mit absolut jedem Zertifikat signieren, das nicht von unserer CA ausgestellt wurde, und da die Informationen zum öffentlichen Schlüssel in der signierten XML-Datei selbst gespeichert sind, wird die Signatur überprüft. Diese Option funktioniert bei mir nicht. Die CheckSignature-Methode verfügt über eine Überladung mit einem AsymmetricAlgorithm-Typparameter, der das Signaturzertifikat auf Vorhandensein im Speicher, Gültigkeit, Gültigkeitszeitraum usw. überprüft. Das ist, was ich brauche, aber ich weiß nicht im Voraus, welcher der Benutzer das signierte XML gesendet hat.

Sagen Sie mir bitte: Wie kann ich die XML-Signatur überprüfen oder richtig erstellen, damit nur die XML-Dateien, die nur von unseren Zertifikaten (die im Store installiert sind) signiert sind, die Signaturprüfung bestehen?

Ps. und was bringt es, sowohl die signatur selbst als auch den öffentlichen schlüssel zum entschlüsseln der signatur in xml aufzubewahren? Wenn Sie die Zeile signedXml.KeyInfo = keyInfo; , dann schlägt die Überprüfung der XML-Signatur fehl.



Wird geladen...
oben