Dokumentation zu mcCrypt.exe

mcCrypt

Version 4.0.0.1 Copyright © Microcare Systemhaus GmbH

Inhalt

Aufruf

mcCrypt.exe <Befehl> [/<Schalter> <parameter>]*

Übersicht

  • Aktuellen Status anzeigen:
    mcCrypt.exe Status /Config <Datei> [/Log <Datei>]
  • Fenster zur Eingabe der Firmendaten anzeigen:
    mcCrypt.exe Mandant /Config <Datei> [/Log <Datei>]
  • Konfiguration über das Internet aktivieren:
    mcCrypt.exe Activate /Config <Datei> [/Log <Datei>]
  • TrustCenter-Daten und Annahme-Schlüssel über das Internet aktualisieren:
    mcCrypt.exe UpdateTC /Config <Datei> [/Log <Datei>]
  • Vorhandene Zertifizierungsanfrage verwerfen:
    mcCrypt.exe ClearRequest /Config <Datei> [/Log <Datei>]
  • Neue Zertifizierungsanfrage erstellen:
    mcCrypt.exe CreateRequest /Config <Datei> /Request <Datei> [/Log <Datei>]
  • Zertifizierungsantrag auf dem Standarddrucker ausdrucken:
    mcCrypt.exe PrintRequest /Config <Datei> [/Log <Datei>]
  • Zertifizierungsantwort importieren:
    mcCrypt.exe ImportReply /Config <Datei> /Reply <Datei> [/Log <Datei>]
  • Nutzdatendatei verschlüsseln:
    mcCrypt.exe Encrypt /Config <Datei> /Recipient <Empfänger> /Plain <Datei> /Crypt <Datei> [/Log <Datei>]
  • Nutzdatendatei entschlüsseln:
    mcCrypt.exe Decrypt /Config <Datei> /Crypt <Datei> /Plain <Datei> [/Log <Datei>]
  • Restlaufzeit des eigenen Zertifikates in Tagen:
    mcCrypt.exe CertificateValid /Config <Datei> [/Log <Datei>]
    Rückgabewert = Anzahl Tage


  • PFX-Zertifikat importieren
    mcCrypt.exe ImportPFX /Source <Datei> /Password password 

Befehle

Status Gibt den aktuellen Status aus Kann jederzeit aufgerufen werden. In der Logdatei werden Infos ausgegeben, z.B. Hash-Code.
Mandant Zeigt ein Fenster zur Eingabe der Firmendaten an Korrekte Firmendaten sind Voraussetzung für eine Zertifikatsanfrage.
Die Pflichtfelder (Firmenname, IK bzw. BN, Ansprechpartner) in den Firmendaten lassen sich nicht mehr ändern, sobald eine Zertifizierungsanfrage erstellt oder eine Zertifizierungsantwort importiert wurde (siehe ClearRequest).
Activate Aktiviert diese Konfiguration über das Internet Ohne Aktivierung können keine Zertifizierungsanfragen erstellt, Dateien verschlüsselt etc. werden.
Für die Aktivierung wird eine bestehende Internet-Verbindung benötigt.
Bei der Aktivierung wird der Hersteller-Code sowie die IK-Nummer bzw. BN an den Aktivierungsserver gesendet und dort gespeichert.
Um die Aktivierung erfolgreich durchführen zu können, muss der Hersteller für jede IK-Nummer bzw. BN seiner Kunden eine Lizenz erworben worden haben.
Lizenzen sind an die Version von mcCrypt gebunden; um ein bestehendes Zertifikat mit einer neuen Version von mcCrypt weiter zu verwenden, muss erneut aktiviert werden; der Hersteller speichert dazu die neue Lizenz-Nummer in der serial.txt-Datei und verwendet den Activate-Befehl.
UpdateTC Aktualisiert TrustCenter-Daten und Annahme-Schlüssel über das Internet. Vom TrustCenter werden die Dateien annahme-sha256.key und annahme-sha256.agv heruntergeladen.
Die Annahme-Schlüssel sollten regelmässig aktualisiert werden.
ClearRequest Verwirft eine vorhandene Zertifizierungsanfrage Nur nötig falls bei der Erzeugung einer Zertifizierungsanfrage versehentlich falsche Daten eingegeben worden waren.
Nicht mehr möglich, nachdem die Zertifizierungsantwort importiert wurde - in diesem Fall muss die ganze Konfigurationsdatei neu angelegt werden.
CreateRequest Erzeugt eine neue Zertifizierungsanfrage Dabei wird ein privater Schlüssel erzeugt und in der Konfigurationsdatei gespeichert.
Der Verarbeitungs-Modus (Schalter /Mode) kann angegeben sein. Damit wird auch der Signatur-Algorithmus des Zertifikats angegeben.
Die Zertifizierungsanfrage wird in der angegebenen Datei (Schalter /Request) gespeichert und muss per email an die Zertifizierungsstelle geschickt werden.
Die Zertifizierungsstelle stellt für jedes ausgestellte Zertifikat eine Rechnung.
PrintRequest Druckt den Zertifizierungsantrag auf den Standarddrucker Der Ausdruck muss unterschrieben, evtl. noch ergänzt und dann an die Zertifizierungsstelle geschickt werden.
ImportReply Importiert die Zertifizierungsantwort Sie erhalten die Datei mit der Zertifizierungsantwort von der Zertifizierungsstelle.
CertificateValid Gibt die Gültigkeitsdauer des Zertifikats in Tagen aus  
CertificateMode Zeigt den Modus des Zertifikats an mögliche Werte: PKCS RSA-4096=4176PKCS SHA-256=3758PKCS SHA-1=2315
Encrypt Verschlüsselt eine Nutzdatendatei  
Decrypt Entschlüsselt eine empfangene Datei Verschlüsselte Dateien von den Kassen können damit entschlüsselt werden. Auch Dateien, die Sie selbst verschlüsselt haben, können damit wieder entschlüssselt werden.
ImportPFX Importiert ein Zertifikat aus einer PFX-Datei. Damit kann ein Zertifikat aus einer anderen Software importiert werden.
Die PFX-Datei mit dem Zertifikat wird über den Schalter /Source angegeben,
das dazu gehörende Passwort mit dem Schalter /Password.

Voraussetzungen:
Die Konfiguration (XML) muss Mandanten-Informationen enthalten (Befehl Mandant mit serial.txt).
Wichtig dabei ist die Angabe der IK- bzw. BN-Nummer; diese wird mit dem zu importierenden Zertifikat verglichen.
Die Lizenz muss aktiviert sein (Befehl Activate).
Es darf kein anderes Zertifikat vorhanden sein (weder als Antrag, noch als signiertes Zertifikat).
Das Passwort für die PFX-Datei muss vorliegen.

Schalter

/Config Gibt die Datei an, in der mcCrypt die Einstellungen speichert Sollte bei allen Befehlen angegeben werden
sinnvoll: <IK-Nummer bzw. BN>.xml
Die Mandantenfähigkeit wird über die unterschiedlichen Konfigurationsdateien hergestellt. Wird der Schalter /Config nicht angegeben, wird die Datei mcCrypt.xml verwendet.
/Request Gibt die Datei an, in der die Zertifizierungsanfrage gespeichert werden soll Muss bei CreateRequest angegeben werden.
Üblicherweise:
<erste 8 Stellen der IK-Nummer>.p10 bzw. <Betriebsnummer>.p10 (PKCS-Verfahren)
/Reply Gibt die Datei an, aus der die Zertifizierungsantwort gelesen werden soll Muss bei ImportReply angegeben werden
Üblicherweise:
<erste 8 Stellen der IK-Nummer> bzw. <Betriebsnummer>.p7c (PKCS-Verfahren)
/Switch Vorgabe des zu verwendenden Verschlüsselungs-Algorithmus. Kann bei Encrypt angegeben werden.
mögliche Werte: DES3AES256
Standardwert: AES256
/Recipient IK-Nummer bzw. BN des Empfängers (Annahmestelle) Muss bei Encrypt angegeben werden
/Plain Zu verschlüsselnde bzw. entschlüsselte Nutzdatendatei Muss bei Encrypt bzw. Decrypt angegeben werden
/Crypt Verschlüsselte Nutzdatendatei Muss bei Encrypt bzw. Decrypt angegeben werden
/Log Protokoll in die angegebene Datei speichern (anhängen) Kann bei allen Befehlen angegeben werden
/Source Datei mit PFX-Zertifikat. Muss bei ImportPFX angegeben werden.
/Password Passwort für PFX-Zertifikat. Muss bei ImportPFX angegeben werden.

Rückgabewerte

0 OK Verarbeitung erfolgreich abgeschlossen
1 StatusMandant Die Firmendaten sind eingegeben und entsprechen den Richtlinien
2 StatusActivated Die Konfiguration wurde aktiviert
3 StatusRequest Eine Zertifizierungsanfrage wurde erstellt
4 StatusCertificate Ein Zertifikat wurde importiert - ab jetzt kann verschlüsselt werden
-1 Cancel Benutzer hat die Verarbeitung abgebrochen
-2 ErrorUnknown Ein nicht näher spezifizierbarer Fehler ist aufgetreten
-3 ErrorException Bei der Verarbeitung ist eine Ausnahme aufgetreten
-4 ErrorFile Beim Lesen oder Schreiben einer Datei ist ein Fehler aufgetreten
-5 ErrorCommand Es wurde kein oder ein ungültiger Befehl übergeben
-6 ErrorUsage Die übergebenen Parameter konnten nicht ausgewertet werden
-7 ErrorValues Die Firmendaten sind für die geforderte Verarbeitung nicht zulässig
-8 ErrorActivation Die Aktivierung wurde bzw. konnte nicht durchgeführt werden
-9 ErrorCertificate Das Zertifikat bzw. die Zertifizierungsanfrage ist für die geforderte Verarbeitung nicht gültig
-10 ErrorCrypto Bei der kryptographischen Verarbeitung ist ein Fehler aufgetreten
-11 ErrorMode Ein ungültiger Modus wurde angegeben
Negative Werte zeigen generell einen Fehler an.
Der Befehl Status gibt im Erfolgsfall positive Werte zurück. Die Status-Werte beinhalten jeweils die numerisch niedrigen Status-Werte.
Der Befehl CertificateValid gibt die Gültigkeitsdauer des Zertifikats in Tagen zurück. (kann auch negativ sein, wenn abgelaufen)
Der Befehl CertificateMode gibt den Modus des Zertifikats als numerischen Wert zurück. (PKCS SHA-256=3758PKCS SHA-1=2315)


Beispiel

Zum Testen kann die IK-Nummer 123456789 bzw. BN 12345678 verwendet werden. mcCrypt funktioniert dann auch ohne Aktivierung.
  1. Eingabe der Firmendaten

    mcCrypt.exe Mandant /Config 123456789.xml /Log 123456789.log 
    Das Fenster zur Eingabe der Firmendaten wird angezeigt:
    Formular zur Eingabe der Firmendaten
    Die farbig hinterlegten Felder sind Pflichtfelder.
    Es dürfen keine Umlaute (äöü, etc.) oder Sonderzeichen (ß+&;_, Komma, Anführungszeichen, § etc.) eingegeben werden.
    Zugelassen sind Buchstaben, Zahlen, Leerschritt, /(), Minus und Punkt.

    Der Hersteller-Code ist je Softwarehersteller eindeutig und darf nicht verändert werden. Er wird aus der Datei serial.txt gelesen.

    Für das Beispiel geben Sie in das Feld IK-Nummer die 123456789 ein:
    Test-Daten

  2. Aktivierung

    mcCrypt.exe Activate /Config 123456789.xml /Log 123456789.log

    Für die Aktivierung wird eine bestehende Internet-Verbindung benötigt.
    Bei der Aktivierung wird der Hersteller-Code sowie die IK-Nummer bzw. BN an den Aktivierungsserver gesendet.
    Ohne Aktivierung können keine Zertifizierungsanfragen erstellt, Dateien verschlüsselt etc. werden.

  3. TrustCenter-Daten und Annahme-Schlüssel über das Internet aktualisieren

    mcCrypt.exe UpdateTC /Config <Datei> [/Log <Datei>]

    Dabei werden die Dateien tc.xml sowie annahme.key und annahme.agv aus dem Internet geladen und in das aktuelle Verzeichnis gespeichert. 

  4. Zertifzierungsanfrage

    mcCrypt.exe CreateRequest /Request 12345678.p10 /Config 123456789.xml /Log 123456789.log

    Die Zertifizierungsanfrage wird in der Datei 12345678.p10 gespeichert. Diese Datei muss dann per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! an die Zertifizierungsstelle geschickt werden. In der Demoversion muss die Anfrage nicht verschickt werden!

  5. Zertifizierungsantrag

    mcCrypt.exe PrintRequest /Config 123456789.xml /Log 123456789.log

    Zertifizierungsantrag (Seite 1)Zertifizierungsantrag (Seite 2)
    Der Zertifizierungsantrag muss unterschrieben und mit Kopien zur Identitätsfeststellung etc. an die angegebene Adresse geschickt werden.
    Die Zertifizierungsstelle bearbeitet dann die Anfrage und schickt eine Datei mit der Zertifizierungsantwort.

    Für den Test ist es möglich, die Zertifizierungsanfrage als Zertifizierungsantwort zu benutzen. Kopieren Sie dazu die Datei 12345678.p10 nach 12345678.p7c. Damit können Test-Dateien ver- und entschlüsselt werden, die Annahmestellen verweigern jedoch die Annahme, da das Zertifikat nicht von der Zertifizierungsstelle beglaubigt ist.

  6. Zertifizierungsantwort

    mcCrypt.exe ImportReply /Reply 12345678.p7c /Config 123456789.xml /Log 123456789.log

    Die Zertifizierungsantwort wird eingelesen.

  7. Verschlüsseln

    mcCrypt.exe Encrypt /Plain klar.txt /Crypt sicher.txt /Recipient 108310400 /Config 123456789.xml /Log 123456789.log

    Die Datei klar.txt wird verschlüsselt und das Ergebnis in der Datei sicher.txt gespeichert. Als Empfänger ist in diesem Beispiel die AOK Bayern DAV mit der IK-Nummer 108310400 angegeben.

  8. Entschlüsseln

    mcCrypt.exe Decrypt /Crypt sicher.txt /Plain offen.txt /Config 123456789.xml /Log 123456789.log

    Die verschlüsselte Datei sicher.txt wird entschlüsselt und als offen.txt abgespeichert.

  9. Status abfragen

    mcCrypt.exe Status /Config 123456789.xml /Log 123456789.log

Hinweise

Hersteller-Code

Der Hersteller-Code dient zur Unterscheidung der Lizenzen bei der Aktivierung und wird in der Konfigurationsdatei gespeichert.
Falls in der Konfigurationsdatei kein Hersteller-Code gespeichert ist, versucht mcCrypt.exe den Hersteller-Code aus der Datei serial.txt zu lesen.

Dateien

mcCrypt.exe Hauptprogramm Das Microsoft DotNet Framework 2.0 oder höher muss installiert sein. Datei muss an den Endkunden ausgeliefert werden.
serial.txt Datei mit Hersteller-Code Muss an den Endkunden ausgeliefert werden.
tc.xml Datei mit Angaben zum TrustCenter wird mit Befehl UpdateTC aktualisiert
annahme-pkcs.key,
annahme-pkcs.agv
Datei(en) mit Empfängerzertifikaten werden mit Befehl UpdateTC aktualisiert
<IK-Nummer bzw. BN>.xml Konfigurationsdatei enthält Kundendaten und den privaten Schlüssel des Endkunden.
sollte unbedingt über ein Backup gesichert werden, ein Verlust dieser Datei erfordert eine neue Zertifizierung!
<IK-Nummer bzw. BN>.log Logdatei siehe Schalter /Log

Konfigurationsdatei - Beispiel

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <section name="mandant">
    <entry name="firma">Musterfirma</entry>
    <entry name="ik">123456789<entry>
    <entry name="bn">12345678<entry>
    <entry name="name">Michaela Musterfrau</entry>
    <entry name="strasse">Musterstrasse 1</entry>
    <entry name="plz">12345</entry>
    <entry name="ort">Musterstadt</entry>
    <entry name="tel">+49 1234 5678-9</entry>
    <entry name="fax">+49 1234 5678-0</entry>
    <entry name="email">Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!</entry>
    <entry name="cert"></entry>
  </section>
  <section name="options">
    <entry name="vendor">Microcare Systemhaus GmbH</entry>
    <entry name="app">CAREOLINE</entry>
    <entry name="serial">ABCD-EFGH</entry>
    <entry name="key">F29EC087CCE97FADC1701058C97E1121</entry>
  </section>
</settings>

Achtung: Im Abschnitt mandant darf nur entweder ik oder bn angegeben sein!

Logdatei - Beispiel

mcCrypt.exe Version 4.0.0.1 © Microcare Systemhaus GmbH
Parameter und Befehle lesen...
Befehl gelesen: UpdateTC
Paramter gelesen: /Config, 123456789.xml
Paramter gelesen: /Log, 123456789.log
Befehle und Paramter lesen fertig.
Konfiguration öffnen...
Firmendaten laden...
Hersteller-Code lesen...
Firmendaten überprüfen...
ungültiger Firmenname!
Zertifikat/Anfrage laden...
TrustCenter-Daten laden...
Versuche aktuelle tc.xml von https://www.careoline.de/activate/tc.xml zu laden...
Versuche aktuelle annahme-rsa4096.key von https://trustcenter-data.itsg.de/dale/annahme-rsa4096.key zu laden...
Versuche aktuelle annahme-rsa4096.agv von https://trustcenter-data.itsg.de/dale/annahme-rsa4096.agv zu laden...
Versuche aktuelle annahme-sha256.key von https://trustcenter-data.itsg.de/dale/annahme-sha256.key zu laden...
Versuche aktuelle annahme-sha256.agv von https://trustcenter-data.itsg.de/dale/annahme-sha256.agv zu laden...

Installation

  • DotNet Framework 2.0 (oder höher) installieren
  • Dateien in beliebiges Verzeichnis kopieren
  • Fertig!

Proxy

mit einer .config-Datei kann der Standard-Proxy des DotNet-Framework angepasst werden.

Beispiel für eine mcCrypt.exe.config-Datei:

<configuration>
  <system.net>
    <defaultProxy>
      <proxy proxyaddress="http://proxy.firma.de:8080" bypassonlocal="true" />
    </defaultProxy>
  </system.net>
</configuration>

Betrieb im Netzwerk

  • Aufruf über UNC-Pfad
  • Es gelten die DotNet Spielregeln für Sicherheit im Netzwerk (siehe CasPol.exe).
  • Beispiel:
    %windir%\Microsoft.NET\Framework\v2.0.50727\CasPol.exe -quiet -machine -addgroup LocalIntranet_Zone
    -url \\<server>\mcCrypt\* FullTrust -name "mcCrypt.exe" -description "mcCrypt"

Testen

  • Verwenden Sie die IK-Nummer 123456789 bzw. die BN 12345678. Mit diesen Test-Nummern ist keine Aktivierung nötig, allerdings sind das auch keine gültigen Nummern für den Echt-Betrieb.
  • Nach dem Aufruf von CreateRequest erhalten Sie die Datei 12345678.p10.
    Diese kann kopiert werden in die Datei 12345678.p7c.
    Danach können Sie ImportReply testen und Dateien verschlüsseln.

Änderungen zu vorherigen Versionen

Version 4.0
Umstieg auf 4096-Bit Zertifikate und RSASSA-PSS Signaturen (SECON 2018).

Neu in Version 3.0 ist die Verwendung des AES256-Algorithmus für die Verschlüsselung der Daten. (SECON 3.1.0).
3DES als Verschlüsselung wird nicht mehr unterstützt.
SHA1 als Hash-Funktion wird nicht mehr unterstützt.
Aktivierungen der Version 1.1 sind nicht mehr gültig; um ein vorhandenes Zertifikat weiter zu nutzen, muss mit einer neuen 3.0 Seriennummer neu aktiviert werden.

Neu in Version 2.0 ist die Verwendung des SHA256-Algorithmus als Hash-Funktion (SECON 2.0.0).
PEM wird nicht mehr unterstüzt.

Backup

Zu sichern sind die Dateien
*.xml !!! (enthalten die privaten Schlüssel)
*.p10 (PKCS)
*.p7c (PKCS)
© Microcare Systemhaus GmbH
Zum Seitenanfang