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: @mAbsatz

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

@param[in] pin @parblock PIN (Passwort), mit der auf den privaten Schlüssel zugegriffen werden kann.

         Die Mindestlänge beträgt 4 Stellen. Zulässige
         Zeichen sind alle ASCII-Zeichen ohne die
         Steuerzeichen.
 @endparblock

@param[in] pfad @parblock 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: @mAbsatz
         - Absoluter Pfad: Empfehlung.
         - Relativer Pfad: Wird an das Arbeitsverzeichnis
           angehängt.
         - Leere Zeichenkette: In diesem Fall wird das
           Arbeitsverzeichnis verwendet.
 @endparblock

@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 @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, 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() - @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. “Zertifikate und Authentifizierungsverfahren” - @typeDokumentation{ERiC-Entwicklerhandbuch.pdf}, Kap. “Übergabe von Pfaden an ERiC API-Funktionen”