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: @mAbsatz
- \c eric_public.cer: @mLBEnthält das Zertifikat mit den Daten aus \c zertifikatInfo und darin den öffentlichen Schlüssel.
- \c eric_private.p12: @mLBEnthält den privaten Schlüssel. Der Zugriff ist über die @c pin geschützt.
- \c eric.sfv: @mLBEnthält die Prüfsumme der Dateien \c eric_public.cer und \c 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 @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”