EricCreateKey

Function EricCreateKey 

Source
pub unsafe extern "C" fn EricCreateKey(
    pin: *const byteChar,
    pfad: *const byteChar,
    zertifikatInfo: *const eric_zertifikat_parameter_t,
) -> c_int
Expand description

@brief Es werden die Kryptomittel für ein clientseitig erzeugtes Zertifikat (CEZ) in einem Verzeichnis des Dateisystems erstellt.

Im angegebenen Verzeichnis @c pfad sind nach Ausführung der Funktion EricCreateKey() drei Dateien erstellt worden:

  • eric_public.cer: Enthält das Zertifikat mit den Daten aus @c zertifikatInfo und darin den öffentlichen Schlüssel.
  • eric_private.p12: Enthält den privaten Schlüssel. Der Zugriff ist über die @c pin geschützt.
  • eric.sfv: Enthält die Prüfsumme der Dateien eric_public.cer und eric_private.p12. Die Integrität dieser beiden Dateien kann damit jederzeit überprüft werden.

Ein CEZ kann unter anderem für die Bescheiddaten-Rückübermittlung verwendet werden. Weitere Informationen zur Datenabholung lesen Sie bitte im ERiC-Entwicklerhandbuch.pdf nach.

Über eine Meldung sollte der Benutzer darauf hingewiesen werden, dass die Generierung der Kryptomittel je nach Leistungsfähigkeit der verwendeten Hardware bis zu einigen Minuten dauern kann.

@param[in] pin PIN (Passwort), mit der auf den privaten Schlüssel zugegriffen werden kann. \n Die Mindestlänge beträgt 4 Stellen. Zulässige Zeichen sind alle ASCII-Zeichen ohne die Steuerzeichen. @param[in] pfad Pfad (1) in dem die Kryptomittel erzeugt werden sollen. Das durch den angegebenen Pfad bezeichnete Verzeichnis muss im Dateisystem bereits existieren und beschreibbar sein. Es gibt folgende Möglichkeiten: - Absoluter Pfad: Empfehlung - Relativer Pfad: Wird an das Arbeitsverzeichnis angehängt - Leere Zeichenkette: In diesem Fall wird das Arbeitsverzeichnis verwendet.
@param[in] zertifikatInfo Daten, die zur Identifikation des Schlüsselinhabers im Zertifikat abgelegt werden.

(1) Pfade müssen auf Windows in der für Datei-Funktionen benutzten ANSI-Codepage, auf Linux, AIX und Linux Power in der für das Dateisystem benutzten Locale und auf macOS in der “decomposed form” von UTF-8 übergeben werden. Bitte weitere Betriebssystemspezifika bzgl. nicht erlaubter Zeichen in Pfaden und Pfadtrennzeichen beachten. Für Details zu Pfaden im ERiC siehe Entwicklerhandbuch Kapitel “Übergabe von Pfaden an ERiC API-Funktionen”.

@return

  • ::ERIC_OK
  • ::ERIC_GLOBAL_NULL_PARAMETER
  • ::ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION
  • ::ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER
  • ::ERIC_GLOBAL_UNKNOWN
  • ::ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS
  • ::ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS
  • ::ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND
  • ::ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN
  • ::ERIC_CRYPT_ERROR_CREATE_KEY

@see - EricChangePassword() - ERiC-Entwicklerhandbuch.pdf, Kap. “Zertifikate und Authentifizierungsverfahren” - ERiC-Entwicklerhandbuch.pdf, Kap. “Übergabe von Pfaden an ERiC API-Funktionen”