pub unsafe extern "C" fn EricCreateKey(
pin: *const byteChar,
pfad: *const byteChar,
zertifikatInfo: *const eric_zertifikat_parameter_t,
) -> c_intExpand 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”