ERiC API-Referenz 43.3.2.0

Lade ...
Suche ...
Keine Treffer
Funktionen
otto.h-Dateireferenz

Deklaration der Otto-Funktionen. Mehr ...

`#include "otto_statuscode.h"`
`#include "otto_types.h"`
`#include <stdint.h>`
Include-Abhängigkeitsdiagramm für otto.h:

gehe zum Quellcode dieser Datei

## Funktionen
OttoStatusCode | OttoInstanzErzeugen (const byteChar *logPfad, OttoLogCallback logCallback, void *logCallbackBenutzerdaten, OttoInstanzHandle *instanz)
| Erstellt und initialisiert eine neue Otto-Instanz.
OttoStatusCode | OttoInstanzFreigeben (OttoInstanzHandle instanz)
| Gibt eine Otto-Instanz frei.
OttoStatusCode | OttoZertifikatOeffnen (OttoInstanzHandle instanz, const byteChar *zertifikatsPfad, const byteChar *zertifikatsPasswort, OttoZertifikatHandle *zertifikat)
| Erstellt ein Otto-Zertifikatsobjekt für ein Sicherheitstoken.
OttoStatusCode | OttoZertifikatOeffnenAusBytes (OttoInstanzHandle instanz, const byteChar *pkcs12Container, uint32_t containerGroesse, const byteChar *zertifikatsPasswort, OttoZertifikatHandle *zertifikat)
| Erstellt ein Otto-Zertifikatsobjekt für ein PKCS#12-Sicherheitstoken, das im Hauptspeicher übergeben wird.
OttoStatusCode | OttoZertifikatSchliessen (OttoZertifikatHandle zertifikat)
| Schließt das Otto-Zertifikatsobjekt zu einem Sicherheitstoken. Anschließend darf das Zertifikatsobjekt nicht mehr verwendet werden.
OttoStatusCode | OttoRueckgabepufferErzeugen (OttoInstanzHandle instanz, OttoRueckgabepufferHandle *rueckgabepuffer)
| Erzeugt einen Rückgabepuffer und gibt ein Handle darauf zurück.
uint64_t | OttoRueckgabepufferGroesse (OttoRueckgabepufferHandle rueckgabepuffer)
| Gibt die Anzahl der im Rückgabepuffer enthaltenen Bytes zurück. Das abschließende Null-Byte wird nicht mitgezählt.
const byteChar * | OttoRueckgabepufferInhalt (OttoRueckgabepufferHandle rueckgabepuffer)
| Gibt den Inhalt eines Rückgabepuffers zurück.
OttoStatusCode | OttoRueckgabepufferFreigeben (OttoRueckgabepufferHandle rueckgabepuffer)
| Gibt einen Rückgabepuffer frei.
OttoStatusCode | OttoPruefsummeErzeugen (OttoInstanzHandle instanz, OttoPruefsummeHandle *pruefsumme)
| Erzeugt ein Objekt zur Berechnung einer Datenprüfsumme, die Otto zu Beginn einer Übermittlung an den OTTER-Server senden muss.
OttoStatusCode | OttoPruefsummeAktualisieren (OttoPruefsummeHandle pruefsumme, const byteChar *datenBlock, uint64_t datenBlockGroesse)
| Aktualisiert die Prüfsumme über Daten. Eine Prüfsumme, die bereits signiert wurde, kann nicht mehr aktualisiert werden.
OttoStatusCode | OttoPruefsummeSignieren (OttoPruefsummeHandle pruefsumme, OttoZertifikatHandle zertifikat, OttoRueckgabepufferHandle rueckgabepuffer)
| Erstellt eine Signatur über eine Prüfsumme.
OttoStatusCode | OttoPruefsummeFreigeben (OttoPruefsummeHandle pruefsumme)
| Gibt ein Prüfsummenobjekt frei.
OttoStatusCode | OttoVersandBeginnen (OttoInstanzHandle instanz, const byteChar *signiertePruefsumme, const byteChar *herstellerId, OttoVersandHandle *versand)
| Initialisiert einen Datenversand an den OTTER-Server.
OttoStatusCode | OttoVersandFortsetzen (OttoVersandHandle versand, const byteChar *datenBlock, uint64_t datenBlockGroesse)
| Versendet einen Datenblock an den OTTER-Server.
OttoStatusCode | OttoVersandAbschliessen (OttoVersandHandle versand, OttoRueckgabepufferHandle objektId)
| Schließt einen Versand ab und gibt die Objekt-ID zurück.
OttoStatusCode | OttoVersandBeenden (OttoVersandHandle versand)
| Gibt ein Versandobjekt frei.
OttoStatusCode | OttoEmpfangBeginnen (OttoInstanzHandle instanz, const byteChar *objektId, OttoZertifikatHandle zertifikat, const byteChar *herstellerId, OttoEmpfangHandle *empfang)
| Initialisiert eine Datenabholung vom OTTER-Server.
OttoStatusCode | OttoEmpfangBeginnenAbholzertifikat (OttoInstanzHandle instanz, const byteChar *objektId, OttoZertifikatHandle zertifikat, const byteChar *herstellerId, const byteChar *abholzertifikat, OttoEmpfangHandle *empfang)
| Initialisiert eine Datenabholung vom OTTER-Server mit Angabe eines Abholzertifikats.
OttoStatusCode | OttoEmpfangFortsetzen (OttoEmpfangHandle empfang, OttoRueckgabepufferHandle datenBlock)
| Empfängt einen Datenblock vom OTTER-Server.
OttoStatusCode | OttoEmpfangBeenden (OttoEmpfangHandle empfang)
| Gibt das Empfangsobjekt wieder frei.
OttoStatusCode | OttoDatenAbholen (OttoInstanzHandle instanz, const byteChar *objektId, uint32_t objektGroesse, const byteChar *zertifikatsPfad, const byteChar *zertifikatsPasswort, const byteChar *herstellerId, const byteChar *abholzertifikat, OttoRueckgabepufferHandle abholDaten)
| Holt das Datenobjekt zu einer Objekt-ID von OTTER mit einem einzigen Funktionsaufruf vollständig ab.
const char * | OttoHoleFehlertext (OttoStatusCode statuscode)
| Die Funktion liefert die Klartextfehlermeldung zu einem Otto-Statuscode - definiert in otto_statuscode.h.
OttoStatusCode | OttoProxyKonfigurationSetzen (OttoInstanzHandle instanz, const OttoProxyKonfiguration *proxyKonfiguration)
| Konfiguriert eine Otto-Instanz für einen Proxy.
OttoStatusCode | OttoEinstellungSetzen (OttoInstanzHandle instanz, const char *einstellungName, const char *einstellungWert)
| Setzt den Wert einer Otto-Einstellung für die angegebene Instanz.
OttoStatusCode | OttoEinstellungLesen (OttoInstanzHandle instanz, const char *einstellungName, OttoRueckgabepufferHandle einstellungWert)
| Liest den aktuellen Wert einer Otto-Einstellung in der angegebenen Instanz aus.
OttoStatusCode | OttoVersion (OttoRueckgabepufferHandle rueckgabepuffer)
| Gibt die Version der Otto-Bibliothek zurück.

## Ausführliche Beschreibung

Deklaration der Otto-Funktionen.

Definiert in Datei otto.h.

## Dokumentation der Funktionen

## ◆ OttoDatenAbholen()

OttoStatusCode OttoDatenAbholen | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | objektId,
|  | uint32_t | objektGroesse,
|  | const byteChar * | zertifikatsPfad,
|  | const byteChar * | zertifikatsPasswort,
|  | const byteChar * | herstellerId,
|  | const byteChar * | abholzertifikat,
|  | OttoRueckgabepufferHandle | abholDaten )

Holt das Datenobjekt zu einer Objekt-ID von OTTER mit einem einzigen Funktionsaufruf vollständig ab.

Diese Funktion ist eine bequemere Alternative zu der blockweisen Datenabholung über die OttoEmpfang-Funktionen. Intern bündelt sie die Aufrufe der OttoEmpfangs-Funktionen, wie sie sonst von der Anwendung selbst durchgeführt werden müßten.

Der Nachteil dieser Funktion gegenüber den OttoEmpfang-Funktionen besteht darin, dass die abgeholten Daten alle im Hauptspeicher von Otto gehalten werden. Sie eignet sich daher nicht für die Abholung sehr großer Datenobjekte oder wenn nur sehr wenig Hauptspeicher zur Verfügung steht.

Zu beachten
  Wurde eine Otto-Instanz vor dem Aufruf dieser Funktion mit OttoProxyKonfigurationSetzen() für einen Proxy konfiguriert, wird die Abholung über den Proxy durchgeführt.

Parameter

  [in] | instanz | Handle der Otto-Instanz, auf der diese Funktion ausgeführt werden soll.
  [in] | objektId | ID des Datenobjekts, das vom OTTER-Server abgeholt werden soll.
  [in] | objektGroesse | Die erwartete Größe des Datenobjekts, das vom OTTER-Server abgeholt werden soll, in Bytes. Diesen Wert findet die Anwendung zusammen mit der Objekt-ID im Rückgabe-XML zu einer PostfachAnfrage. Wenn die Größe zu gering angegeben wird, geht dies zwar zu Lasten der Geschwindigkeit und des Hauptspeicherbedarfs, weil dann der Rückgabepuffer von Otto intern sukzessive vergrößert werden muß, aber es führt nicht zu einem Fehler.
  [in] | zertifikatsPfad | Pfad zum Sicherheitstoken, folgende Angaben sind möglich: Clientseitig erzeugtes Zertifikat: Pfad zum Verzeichnis, in dem sich die Zertifikats-Datei (.cer) und die Datei mit dem privaten Schlüssel (.p12) befinden. Diese Sicherheitstokens wurden mit EricMtCreateKey() bzw. EricCreateKey() erzeugt. Der Pfad zum Verzeichnis ist bei clientseitig erzeugten Zertifikaten relativ zum aktuellen Arbeitsverzeichnis oder absolut anzugeben. Software-Portalzertifikat: Pfad zur Software-Zertifikatsdatei (i.d.R. mit der Endung .pfx). Der Pfad zur Datei ist bei Software-Zertifikaten relativ zum aktuellen Arbeitsverzeichnis oder absolut anzugeben. Sicherheitsstick: Pfad zur Treiberdatei, siehe (*). Bitte beachten, dass der Treiber betriebssystemabhängig sein kann. Weitere Informationen in der Anleitung zum Sicherheitsstick oder unter https://www.sicherheitsstick.de. Signaturkarte: (*) Pfad zur Treiberdatei, welcher einen Zugriff auf die Signaturkarte ermöglicht. Weitere Informationen in der Anleitung zur Signaturkarte. Elektronischer Personalausweis (nPA) oder Aufenthaltstitel (eAT): Die URL des eID-Clients wie zum Beispiel der AusweisApp 2. In den meisten Fällen lautet diese URL: http://127.0.0.1:24727/eID-Client. Optional kann auf die folgende Weise noch ein Testmerker angehängt werden: http://127.0.0.1:24727/eID-Client?testmerker=520000000. Zu den verfügbaren Testmerkern siehe ERiC-Entwicklerhandbuch.pdf, Kap. "Testunterstützung bei der ERiC-Anbindung". Wichtig: Das Ad-hoc-Zertifikat, das in diesem Fall für den elektronischen Personalausweis erzeugt wird, ist nur 24 Stunden gültig.

(*) Wird der Dateipfad eines Treibers angegeben, ist der Suchmechanismus zu beachten, mit dem das jeweilige Betriebssystem dynamische Bibliotheken lädt. Weitere Informationen sind der Systemdokumentation zu den Betriebssystemfunktionen `LoadLibrary()` (Windows) bzw. `dlopen()` (Linux, AIX und macOS) zu entnehmen.

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 ERiC-Entwicklerhandbuch.pdf, Kapitel "Übergabe von Pfaden an ERiC API-Funktionen".

Parameter

  [in] | zertifikatsPasswort | Das Passwort oder die PIN des Sicherheitstokens. Bei Tokens, bei denen das Passwort oder die PIN nicht von der Anwendung übergeben, sondern separat über einen Treiber (z. B. von einem Kartenlesegerät) abgefragt wird, ist hier NULL zu übergeben.
  [in] | herstellerId | Hersteller-ID des Softwareproduktes
  [in] | abholzertifikat | Base64-kodierter Teil eines X.509-v3-Zertifikats im PEM-Format. Die Angabe eines Abholzertifikats ist optional und nur erlaubt, wenn im Parameter zertifikatsPfad kein clientseitig erzeugtes Zertifikat (CEZ) angegeben wurde. Wird ein Abholzertifikat übergeben, so werden die Abholdaten vom Server auf den öffentlichen Schlüssel des Zertifikats umgeschlüsselt. Diese Daten werden vom Otto nicht entschlüsselt und OttoDatenAbholen() gibt lediglich die verschlüsselten Daten zurück. Wenn eine nicht bei ELSTER registrierte Signaturkarte zur Authentifizierung verwendet wird, muss dieser Parameter gesetzt werden, ansonsten kann hier NULL übergeben werden.
  [out] | abholDaten | Rückgabepuffer mit den abgeholten Daten. Der Inhalt des Rückgabepuffers darf nicht als null-terminierte Zeichenkette interpretiert werden, da die abgeholten Daten weitere Null-Bytes enthalten können.

Rückgabe
  - OTTO_OK
  - OTTO_TRANSFER_UNAUTHORIZED
  - OTTO_TRANSFER_NOT_FOUND
  - weitere, siehe otto_statuscode.h

## ◆ OttoEinstellungLesen()

OttoStatusCode OttoEinstellungLesen | ( | OttoInstanzHandle | instanz,
|  | const char * | einstellungName,
|  | OttoRueckgabepufferHandle | einstellungWert )

Liest den aktuellen Wert einer Otto-Einstellung in der angegebenen Instanz aus.

Parameter

  [in] | instanz | Die Otto-Instanz, deren Einstellung ausgelesen werden soll.
  [in] | einstellungName | Name der Einstellung, deren Wert ausgelesen werden soll.
  [out] | einstellungWert | Der ausgelesene Wert der Einstellung

Rückgabe
  - OTTO_OK
  - OTTO_EINSTELLUNG_UNBEKANNT
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoEinstellungSetzen()
  - ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der Otto-Einstellungen"

## ◆ OttoEinstellungSetzen()

OttoStatusCode OttoEinstellungSetzen | ( | OttoInstanzHandle | instanz,
|  | const char * | einstellungName,
|  | const char * | einstellungWert )

Setzt den Wert einer Otto-Einstellung für die angegebene Instanz.

Die Einstellungen gelten immer nur für die übergebene Otto-Instanz.

Die Änderungen von Werten ist nicht immer unmittelbar wirksam.

Parameter

  [in] | instanz | Die Otto-Instanz, für die eine Einstellung gesetzt werden soll.
  [in] | einstellungName | Name der Einstellung, deren Wert gesetzt werden soll.
  [in] | einstellungWert | Wert, auf den die Einstellung gesetzt werden soll.

Rückgabe
  - OTTO_OK
  - OTTO_EINSTELLUNG_UNBEKANNT
  - OTTO_EINSTELLUNG_WERT_UNGUELTIG
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoEinstellungLesen()
  - ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der Otto-Einstellungen"

## ◆ OttoEmpfangBeenden()

OttoStatusCode OttoEmpfangBeenden | ( | OttoEmpfangHandle | empfang | ) |

Gibt das Empfangsobjekt wieder frei.

Das Empfangsobjekt darf nach diesem Aufruf nicht mehr verwendet werden. Wird diese Funktion aufgerufen, bevor OttoEmpfangFortsetzen() einen leeren Rückgabepuffer zurückgegeben hat, können die bis dahin empfangenen Daten unvollständig sein.

Parameter

  [in] | empfang | Ein mit OttoEmpfangBeginnen() erzeugtes Handle

Rückgabe
  - OTTO_OK
  - OTTO_EMPFANG_VORZEITIG_BEENDET falls noch nicht alle Daten mit OttoEmpfangFortsetzen() empfangen wurden
  - weitere, siehe otto_statuscode.h

## ◆ OttoEmpfangBeginnen()

OttoStatusCode OttoEmpfangBeginnen | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | objektId,
|  | OttoZertifikatHandle | zertifikat,
|  | const byteChar * | herstellerId,
|  | OttoEmpfangHandle * | empfang )

Initialisiert eine Datenabholung vom OTTER-Server.

Das zurückgegebene Handle des Empfangsobjekts wird der Funktion OttoEmpfangFortsetzen() übergeben, um Daten blockweise abzuholen. Sind alle Daten abgeholt, wird OttoEmpfangBeenden() aufgerufen, womit das Empfangsobjekt wieder freigegeben wird.

Zu beachten
  Wurde eine Otto-Instanz vor dem Aufruf dieser Funktion mit OttoProxyKonfigurationSetzen() für einen Proxy konfiguriert, wird der Empfang über den Proxy durchgeführt. Die Proxy-Konfiguration wird intern an dem Empfangsobjekt gespeichert und spätere Aufrufe von OttoProxyKonfigurationSetzen() haben keinen Einfluss auf den bereits begonnenen Empfang.

Parameter

  [in] | instanz | Handle der Otto-Instanz, auf der diese Funktion ausgeführt werden soll.
  [in] | objektId | ID des Objekts, das vom OTTER-Server abgeholt werden soll.
  [in] | zertifikat | Handle auf ein Zertifikatsobjekt
  [in] | herstellerId | Hersteller-ID des Softwareproduktes
  [out] | empfang | Handle auf das Empfangsobjekt. Im Fehlerfall wird kein Empfangobjekt erzeugt.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoEmpfangFortsetzen()
  - OttoEmpfangBeenden()
  - OttoProxyKonfigurationSetzen()

## ◆ OttoEmpfangBeginnenAbholzertifikat()

OttoStatusCode OttoEmpfangBeginnenAbholzertifikat | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | objektId,
|  | OttoZertifikatHandle | zertifikat,
|  | const byteChar * | herstellerId,
|  | const byteChar * | abholzertifikat,
|  | OttoEmpfangHandle * | empfang )

Initialisiert eine Datenabholung vom OTTER-Server mit Angabe eines Abholzertifikats.

Die Angabe eines Abholzertifikats ist erforderlich, wenn eine nicht bei ELSTER registrierte Signaturkarte zur Authentifizierung verwendet wird.

Die Funktion darf nicht verwendet werden, wenn zur Authentifizierung ein clientseitig erzeugtes Zertifikat (CEZ) verwendet wird. (Parameter `zertifikat`)

Das zurückgegebene Handle des Empfangsobjekts wird der Funktion OttoEmpfangFortsetzen() übergeben, um Daten blockweise abzuholen. Sind alle Daten abgeholt, wird OttoEmpfangBeenden() aufgerufen, womit das Empfangsobjekt wieder freigegeben wird.

Ein wichtiger Unterschied zu OttoEmpfangBeginnen() besteht darin, dass der OTTER-Server die Daten auf den in `abholzertifikat` enthaltenen öffentlichen Schlüssel umschlüsselt. Die Daten werden vom Otto nicht entschlüsselt und OttoEmpfangFortsetzen() gibt lediglich die verschlüsselten Daten zurück.

Zu beachten
  Wurde eine Otto-Instanz vor dem Aufruf dieser Funktion mit OttoProxyKonfigurationSetzen() für einen Proxy konfiguriert, wird der Empfang über den Proxy durchgeführt. Die Proxy-Konfiguration wird intern an dem Empfangsobjekt gespeichert und spätere Aufrufe von OttoProxyKonfigurationSetzen() haben keinen Einfluss auf den bereits begonnenen Empfang.

Parameter

  [in] | instanz | Handle der Otto-Instanz, auf der diese Funktion ausgeführt werden soll.
  [in] | objektId | ID des Objekts, das vom OTTER-Server abgeholt werden soll.
  [in] | zertifikat | Handle auf ein Zertifikatsobjekt Es darf hier kein clientseitig erzeugtes Zertifikat (CEZ) angegeben werden.
  [in] | herstellerId | Hersteller-ID des Softwareproduktes
  [in] | abholzertifikat | Base64-kodierter Teil eines X.509-v3-Zertifikats im PEM-Format
  [out] | empfang | Handle auf das Empfangsobjekt. Im Fehlerfall wird kein Empfangobjekt erzeugt.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoEmpfangFortsetzen()
  - OttoEmpfangBeenden()
  - OttoProxyKonfigurationSetzen()

## ◆ OttoEmpfangFortsetzen()

OttoStatusCode OttoEmpfangFortsetzen | ( | OttoEmpfangHandle | empfang,
|  | OttoRueckgabepufferHandle | datenBlock )

Empfängt einen Datenblock vom OTTER-Server.

Otto empfängt Daten vom OTTER-Server und gibt sie blockweise an den Aufrufer zurück. Wird `OTTO_OK` zurückgegeben, kann diese Funktion erneut aufgerufen werden und weitere Datenblöcke empfangen werden. Werden leere Daten zurückgegeben, ist der Empfang beendet und alle Daten wurden empfangen. Dann muss OttoEmpfangBeenden() aufgerufen werden.

Parameter

  [in] | empfang | Ein mit OttoEmpfangBeginnen() erzeugtes Handle.
  [out] | datenBlock | Rückgabepuffer mit allen oder einem Teil der empfangenen Daten. Falls leer, ist der Empfang beendet. Der Inhalt des Rückgabepuffers darf nicht als null-terminierte Zeichenkette interpretiert werden, da die empfangenen Daten weitere Null-Bytes enthalten können.

Rückgabe
  - OTTO_OK
  - OTTO_TRANSFER_UNAUTHORIZED
  - OTTO_TRANSFER_NOT_FOUND
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoEmpfangBeenden()

## ◆ OttoHoleFehlertext()

const char * OttoHoleFehlertext | ( | OttoStatusCode | statuscode | ) |

Die Funktion liefert die Klartextfehlermeldung zu einem Otto-Statuscode - definiert in otto_statuscode.h.

Parameter

  [in] | statuscode | Statuscode

Rückgabe
  - Zeiger auf einen statischen Puffer mit der Klartextmeldung zu einem Statuscode als null-terminierte, UTF-8-kodierte Zeichenkette.
  - `NULL`, falls kein Text ermittelt werden konnte.

## ◆ OttoInstanzErzeugen()

OttoStatusCode OttoInstanzErzeugen | ( | const byteChar * | logPfad,
|  | OttoLogCallback | logCallback,
|  | void * | logCallbackBenutzerdaten,
|  | OttoInstanzHandle * | instanz )

Erstellt und initialisiert eine neue Otto-Instanz.

Otto-Instanzen sind nicht an ihre Ersteller-Threads gebunden. Sie dürfen zwar nicht gleichzeitig in mehreren Threads verwendet werden, aber sie dürfen wechselnd von verschiedenen Threads verwendet werden. Das heißt insbesondere, dass sie von neuen Threads wiederverwendet werden können.

Otto-Instanzen sind in dem Sinne threadsicher, dass verschiedene Otto-Instanzen zeitgleich in verschiedenen Threads verwendet werden können. Jedoch darf ein- und dieselbe Otto-Instanz nicht zeitgleich in mehreren Threads verwendet werden.

Parameter

  [in] | logPfad | Optionaler Pfad zur Log-Datei otto.log. Ist der Wert gleich `NULL`, wird das betriebssystemspezifische Verzeichnis für temporäre Dateien verwendet.
  [in] | logCallback | Callback-Funktion, die gegebenenfalls von Otto bei der Protokollierung von Meldungen aufgerufen wird. Siehe OttoLogCallback Der Parameter darf `NULL` sein.
  [in] | logCallbackBenutzerdaten | Beliebiger Zeiger auf Daten, den Otto beim Aufruf eines `logCallback` an den Callback weiterreicht. Über diesen Weg kann sich eine Anwendung eigene Daten an ihre Log-Callback-Funktion übergeben lassen. Der Parameter darf `NULL` sein.
  [out] | instanz | Handle der erzeugten Otto-Instanz

Zu beachten

  Kann kein otto.log angelegt werden, wird eine entsprechende Fehlermeldung auf die Konsole (stderr) geschrieben und an den Windows-Ereignisdienst bzw. den syslogd-Dienst (Linux, AIX, macOS) geschickt.

  Für Linux, AIX und macOS ist zu beachten, dass der syslogd-Dienst gegebenenfalls erst noch zu aktivieren und für die Protokollierung von Meldungen der Facility "User" zu konfigurieren ist. Suchkriterien für Otto-Meldungen in der Windows-Ereignisansicht sind "ERiC (Elster Rich Client)" als Quelle und "Anwendung" als Protokoll.

  Suchkriterien für ERiC-Meldungen in den Systemlogdateien unter Linux, AIX und macOS sind die Facility "User" und der Ident "ERiC (Elster Rich Client)".

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoInstanzFreigeben()
  - OttoLogCallback

## ◆ OttoInstanzFreigeben()

OttoStatusCode OttoInstanzFreigeben | ( | OttoInstanzHandle | instanz | ) |

Gibt eine Otto-Instanz frei.

Die freigegebene Otto-Instanz sowie alle eventuell noch daran gebundenen Objekte dürfen nach der Freigabe nicht mehr verwendet werden.

Parameter

  [in] | instanz | Handle der Otto-Instanz, die freigegeben werden soll.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoInstanzErzeugen()

## ◆ OttoProxyKonfigurationSetzen()

OttoStatusCode OttoProxyKonfigurationSetzen | ( | OttoInstanzHandle | instanz,
|  | const OttoProxyKonfiguration * | proxyKonfiguration )

Konfiguriert eine Otto-Instanz für einen Proxy.

Damit eine Otto-Instanz ihre Internetverbindungen über einen Proxy aufbaut, muss ihr die Proxy-Konfiguration über diese Methode mitgeteilt werden. Die Konfiguration gilt dann für alle Verbindungen der Instanz nach außen, d.h. für die Verbindungen zu den OTTER-Servern ebenso wie für Verbindungen zum ELSTER-eID-Server bei der Verwendung eines elektronischen Personalausweises oder Aufenthaltstitels.

Parameter

  [in] | instanz | Die Otto-Instanz, für die die Konfiguration gelten soll.
  [in] | proxyKonfiguration | Die Proxy-Konfiguration, die von der Otto-Instanz verwendet werden soll. Wenn hier `NULL` übergeben wird, verwendet die Otto-Instanz keinen Proxy.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoProxyKonfiguration

## ◆ OttoPruefsummeAktualisieren()

OttoStatusCode OttoPruefsummeAktualisieren | ( | OttoPruefsummeHandle | pruefsumme,
|  | const byteChar * | datenBlock,
|  | uint64_t | datenBlockGroesse )

Aktualisiert die Prüfsumme über Daten. Eine Prüfsumme, die bereits signiert wurde, kann nicht mehr aktualisiert werden.

Parameter

  [in,out] | pruefsumme | Handle der Prüfsumme, die aktualisiert werden soll.
  [in] | datenBlock | Zeiger auf die Daten, über die die Prüfsumme aktualisiert werden soll.
  [in] | datenBlockGroesse | Größe der Daten, über die die Prüfsumme aktualisiert werden soll, in Bytes.

Rückgabe
  - OTTO_OK wenn die Prüfsumme erfolgreich aktualisiert werden konnte
  - OTTO_PRUEFSUMME_FINALISIERT wenn die Prüfsumme bereits signiert wurde
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoPruefsummeErzeugen()
  - OttoPruefsummeSignieren()
  - OttoPruefsummeFreigeben()

## ◆ OttoPruefsummeErzeugen()

OttoStatusCode OttoPruefsummeErzeugen | ( | OttoInstanzHandle | instanz,
|  | OttoPruefsummeHandle * | pruefsumme )

Erzeugt ein Objekt zur Berechnung einer Datenprüfsumme, die Otto zu Beginn einer Übermittlung an den OTTER-Server senden muss.

Das Prüfsummenobjekt ist an die Otto-Instanz gebunden, für die es erzeugt wurde und darf nicht zusammen mit einer anderen Otto-Instanz oder mit Objekten anderen Otto-Instanzen verwendet werden.

Parameter

  [in] | instanz | Handle der Otto-Instanz, für die das Prüfsummenobjekt erzeugt werden soll.
  [out] | pruefsumme | Handle des erzeugten Prüfsummenobjekts

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoPruefsummeAktualisieren()
  - OttoPruefsummeSignieren()
  - OttoPruefsummeFreigeben()

## ◆ OttoPruefsummeFreigeben()

OttoStatusCode OttoPruefsummeFreigeben | ( | OttoPruefsummeHandle | pruefsumme | ) |

Gibt ein Prüfsummenobjekt frei.

Das Prüfsummenobjekt darf danach nicht wieder verwendet werden.

Parameter

  [in] | pruefsumme | Handle des Prüfsummenobjekts, das freigegeben werden soll.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoPruefsummeErzeugen()
  - OttoPruefsummeAktualisieren()
  - OttoPruefsummeSignieren()

## ◆ OttoPruefsummeSignieren()

OttoStatusCode OttoPruefsummeSignieren | ( | OttoPruefsummeHandle | pruefsumme,
|  | OttoZertifikatHandle | zertifikat,
|  | OttoRueckgabepufferHandle | rueckgabepuffer )

Erstellt eine Signatur über eine Prüfsumme.

Die Signierung der Prüfsumme ist nur dann möglich, wenn diese über die Mindestdatenmenge für eine Übermittlung an den OTTER-Server berechnet wurde. (20 MiB) Eine Prüfsumme kann nur einmalig signiert werden. Danach muß das Prüfsummenobjekt freigegeben werden.

Parameter

  [in] | pruefsumme | Handle der Prüfsumme, die signiert werden soll.
  [in] | zertifikat | Handle des Sicherheitstoken, mit dem die Prüfsumme signiert werden soll.
  [out] | rueckgabepuffer | Handle des Rückgabepuffers, in den die signierte Prüfsumme geschrieben werden soll. Die signierte Prüfsumme wird als base64-codierte Zeichenfolge übergeben.

Rückgabe
  - OTTO_OK wenn die Prüfsumme signiert werden konnte
  - OTTO_PRUEFSUMME_FINALISIERT wenn die Prüfsumme bereits signiert wurde
  - OTTO_VERSAND_GERINGE_DATENMENGE wenn die Prüfsumme über weniger Daten gebildet wurde als für den Versand an den OTTER-Server erforderlich sind
  - OTTO_ESIGNER_NICHT_GELADEN wenn die Signaturkomponente eSigner nicht geladen werden konnte
  - OTTO_ESIGNER_VERALTET wenn die vorliegende Version der Signaturkomponente eSigner zu alt ist
  - OTTO_ESIGNER_INKOMPATIBEL wenn die vorliegende Signaturkomponente eSigner zur Otto-Bibliothek nicht kompatibel ist
  - Fehler der Signaturkomponente eSigner aus dem Statuscodebereich ab OTTO_ESIGNER_BUSY = 610405801
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoPruefsummeErzeugen()
  - OttoPruefsummeAktualisieren()
  - OttoPruefsummeFreigeben()

## ◆ OttoRueckgabepufferErzeugen()

OttoStatusCode OttoRueckgabepufferErzeugen | ( | OttoInstanzHandle | instanz,
|  | OttoRueckgabepufferHandle * | rueckgabepuffer )

Erzeugt einen Rückgabepuffer und gibt ein Handle darauf zurück.

Die von dieser Funktion erzeugten Rückgabepuffer werden verwendet, um die Rückgabedaten von Otto-Funktionen (z. B. OttoEmpfangFortsetzen() oder OttoVersandBeenden()) aufzunehmen. Dazu wird das Rückgabepuffer-Handle für den Schreibvorgang an die ausgebende Funktion übergeben.

Zum Auslesen des von den API-Funktionen beschriebenen Puffers wird das Rückgabepuffer-Handle an OttoRueckgabepufferInhalt() übergeben. Ein einmal erzeugtes Rückgabepuffer-Handle kann für weitere nachfolgende Aufrufe von Otto API-Funktionen wiederverwendet werden. Bei einer Wiederverwendung eines Handles werden frühere Inhalte überschrieben. Nach letztmaliger Verwendung muss jeder Rückgabepuffer mit OttoRueckgabepufferFreigeben() freigegeben werden.

Der Rückgabepuffer ist an die Otto-Instanz gebunden, für die er erzeugt wurde und kann nicht zusammen mit einer anderen Otto-Instanz oder mit Objekten anderen Otto-Instanzen verwendet werden.

Parameter

  [in] | instanz | Handle der Otto-Instanz, auf der diese Funktion ausgeführt werden soll.
  [out] | rueckgabepuffer | Zeiger auf das Handle des erzeugten Rückgabepuffers

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoRueckgabepufferGroesse()
  - OttoRueckgabepufferInhalt()
  - OttoRueckgabepufferFreigeben()

## ◆ OttoRueckgabepufferFreigeben()

OttoStatusCode OttoRueckgabepufferFreigeben | ( | OttoRueckgabepufferHandle | rueckgabepuffer | ) |

Gibt einen Rückgabepuffer frei.

Das Handle des Rückgabepuffers darf danach nicht weiter verwendet werden. Es wird daher empfohlen, Handle-Variablen nach der Freigabe explizit auf `NULL` zu setzen.

Parameter

  [in] | rueckgabepuffer | Handle auf den Rückgabepuffer, der freigegeben werden soll. Dieser Rückgabepuffer darf nicht bereits freigegeben worden sein.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoRueckgabepufferGroesse()
  - OttoRueckgabepufferInhalt()
  - OttoRueckgabepufferErzeugen()

## ◆ OttoRueckgabepufferGroesse()

uint64_t OttoRueckgabepufferGroesse | ( | OttoRueckgabepufferHandle | rueckgabepuffer | ) |

Gibt die Anzahl der im Rückgabepuffer enthaltenen Bytes zurück. Das abschließende Null-Byte wird nicht mitgezählt.

Parameter

  [in] | rueckgabepuffer | Das Handle des Rückgabepuffers

Rückgabe
  - Anzahl der im Rückgabepuffer enthaltenen Bytes, wenn ein gültiges Handle übergeben wird.
  - 0 sonst

Siehe auch
  - OttoRueckgabepufferInhalt()
  - OttoRueckgabepufferErzeugen()
  - OttoRueckgabepufferFreigeben()

## ◆ OttoRueckgabepufferInhalt()

const byteChar * OttoRueckgabepufferInhalt | ( | OttoRueckgabepufferHandle | rueckgabepuffer | ) |

Gibt den Inhalt eines Rückgabepuffers zurück.

Der zurückgegebene Zeiger verweist auf ein Byte-Array, das alle in den Rückgabepuffer geschriebenen Bytes enthält. Dieses Array existiert so lange im Speicher, bis der Rückgabepuffer entweder (bei einer Wiederverwendung des Handles) erneut beschrieben oder der Puffer explizit freigegeben wird. Der Array wird immer von einem Null-Byte abgeschlossen. Wenn der Rückgabepuffer keine weiteren Null-Bytes enthält, kann folglich der Rückgabepufferinhalt bequem als null-terminierte Zeichenkette interpretiert werden.

Parameter

  [in] | rueckgabepuffer | Das Handle des Rückgabepuffers, dessen Inhalt zurückgegeben werden soll.

Rückgabe
  - Zeiger auf den Rückgabepufferinhalt, wenn ein gültiges Handle übergeben wird.
  - NULL sonst

Siehe auch
  - OttoRueckgabepufferGroesse()
  - OttoRueckgabepufferErzeugen()
  - OttoRueckgabepufferFreigeben()

## ◆ OttoVersandAbschliessen()

OttoStatusCode OttoVersandAbschliessen | ( | OttoVersandHandle | versand,
|  | OttoRueckgabepufferHandle | objektId )

Schließt einen Versand ab und gibt die Objekt-ID zurück.

Mit dieser Funktion wird das Ende der Daten gekennzeichnet und der Datenversand abgeschlossen.

Im Erfolgsfall wird die vom OTTER-Server vergebene Objekt-ID zurückgegeben, über die die versendeten Daten bei OTTER referenziert werden.

Parameter

  [in] | versand | Ein mit OttoVersandBeginnen() erzeugtes Handle
  [out] | objektId | Handle des Rückgabepuffers, in den die Objekt-ID geschrieben werden soll.

Rückgabe
  - OTTO_OK im Erfolgsfall
  - OTTO_TRANSFER_UNAUTHORIZED
  - OTTO_TRANSFER_CONNECTSERVER
  - OTTO_VERSAND_GERINGE_DATENMENGE
  - OTTO_VERSAND_ABGESCHLOSSEN falls OttoVersandAbschliessen() bereits aufgerufen wurde
  - weitere, siehe otto_statuscode.h

## ◆ OttoVersandBeenden()

OttoStatusCode OttoVersandBeenden | ( | OttoVersandHandle | versand | ) |

Gibt ein Versandobjekt frei.

Das Versandobjekt darf danach nicht wieder verwendet werden.

Parameter

  [in] | versand | Handle des Versandobjekts, das freigegeben werden soll.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoVersandBeginnen()
  - OttoVersandFortsetzen()
  - OttoVersandAbschliessen()

## ◆ OttoVersandBeginnen()

OttoStatusCode OttoVersandBeginnen | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | signiertePruefsumme,
|  | const byteChar * | herstellerId,
|  | OttoVersandHandle * | versand )

Initialisiert einen Datenversand an den OTTER-Server.

Das zurückgegebene Handle des Versandobjekts wird der Funktion OttoVersandFortsetzen() übergeben, um Daten blockweise hochzuladen. Sind alle Daten versendet, ist OttoVersandAbschliessen() aufzurufen, womit der Versand abgeschlossen wird. Zum Freigeben des Versandobjekts ist OttoVersandBeenden() aufzurufen.

Bevor der Versand begonnen werden kann, muss eine Prüfsumme über alle zu versendenen Daten gebildet (siehe OttoPruefsummeErzeugen()) und mit OttoPruefsummeSignieren() signiert werden.

Zu beachten
  Wurde Otto vor dem Aufruf dieser Funktion für einen Proxy mit OttoProxyKonfigurationSetzen() konfiguriert, wird der Versand über den Proxy durchgeführt. Die Proxy-Konfiguration wird intern an dem Versandobjekt gespeichert und spätere Aufrufe von OttoProxyKonfigurationSetzen() haben keinen Einfluss auf den bereits begonnenen Versand.

Parameter

  [in] | instanz | Handle der Otto-Instanz, auf der diese Funktion ausgeführt werden soll.
  [in] | signiertePruefsumme | Signierte Prüfsumme über die Gesamtheit der Daten, die in diesem Versand versendet werden sollen. Die signierte Prüfsumme wird als base64-codierte, nullterminierte Zeichenfolge erwartet, wie sie von OttoPruefsummeSignieren() zurückgeliefert wird.
  [in] | herstellerId | Hersteller-ID des Softwareproduktes
  [out] | versand | Handle auf das Versandobjekt. Im Fehlerfall wird kein Versandobjekt erzeugt.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoVersandFortsetzen()
  - OttoVersandAbschliessen()
  - OttoVersandBeenden()
  - OttoPruefsummeSignieren()
  - OttoProxyKonfigurationSetzen()

## ◆ OttoVersandFortsetzen()

OttoStatusCode OttoVersandFortsetzen | ( | OttoVersandHandle | versand,
|  | const byteChar * | datenBlock,
|  | uint64_t | datenBlockGroesse )

Versendet einen Datenblock an den OTTER-Server.

Otto liest den übergebenen Datenblock ein und versendet ihn an den OTTER-Server. Wenn `OTTO_OK` zurückgegeben wird, kann diese Funktion erneut mit einem weiteren Datenblock aufgerufen werden. Dies ist zu wiederholen, bis Otto alle zu diesem Versand gehörigen Daten erhalten hat. Falls nicht `OTTO_OK` zurückgegeben wird, ist der Versand fehlgeschlagen.

Ist das Ende der Daten erreicht, muss OttoVersandAbschliessen() aufgerufen werden.

Parameter

  [in] | versand | Ein mit OttoVersandBeginnen() erzeugtes Handle
  [in] | datenBlock | Zeiger auf die zu versendenen Daten. Falls `NULL` wird der Aufruf ignoriert.
  [in] | datenBlockGroesse | Größe des Arrays `datenBlock` in Bytes. Falls 0 wird der Aufruf ignoriert.

Rückgabe
  - OTTO_OK im Erfolgsfall
  - OTTO_TRANSFER_UNAUTHORIZED
  - OTTO_TRANSFER_CONNECTSERVER
  - OTTO_VERSAND_ABGESCHLOSSEN falls OttoVersandAbschliessen() bereits aufgerufen wurde
  - weitere, siehe otto_statuscode.h

Siehe auch
  - OttoVersandAbschliessen()

## ◆ OttoVersion()

OttoStatusCode OttoVersion | ( | OttoRueckgabepufferHandle | rueckgabepuffer | ) |

Gibt die Version der Otto-Bibliothek zurück.

Zu beachten
  Die Version der Otto-Bibliothek ist nicht zwingend gleich der Version des ERiC-Auslieferungspaketes, sondern kann davon abweichen.

Rückgabe
  - siehe otto_statuscode.h

## ◆ OttoZertifikatOeffnen()

OttoStatusCode OttoZertifikatOeffnen | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | zertifikatsPfad,
|  | const byteChar * | zertifikatsPasswort,
|  | OttoZertifikatHandle * | zertifikat )

Erstellt ein Otto-Zertifikatsobjekt für ein Sicherheitstoken.

Das Zertifikatsobjekt ist an die Otto-Instanz gebunden, für die es erzeugt wurde, und darf nicht zusammen mit einer anderen Otto-Instanz oder mit Objekten anderer Otto-Instanzen verwendet werden. Soll ein Sicherheitstoken von mehreren Otto-Instanzen verwendet werden, so sind hierfür mehrere Zertifikatsobjekte zu erstellen: für jede Instanz eines.

Parameter

  [in] | instanz | Handle der Otto-Instanz, die das Zertifikatsobjekt verwenden soll.
  [in] | zertifikatsPfad | Pfad zum Sicherheitstoken, folgende Angaben sind möglich: Clientseitig erzeugtes Zertifikat: Pfad Verzeichnis, in dem sich die Zertifikats-Datei (.cer) und die Datei mit dem privaten Schlüssel (.p12) befinden. Diese Sicherheitstokens wurden mit EricMtCreateKey() bzw. EricCreateKey() erzeugt. Der Pfad zum Verzeichnis ist bei clientseitig erzeugten Zertifikaten relativ zum aktuellen Arbeitsverzeichnis oder absolut anzugeben. Software-Portalzertifikat: Pfad zur Software-Zertifikatsdatei (i.d.R. mit der Endung .pfx). Der Pfad zur Datei ist bei Software-Zertifikaten relativ zum aktuellen Arbeitsverzeichnis oder absolut anzugeben. Sicherheitsstick: Pfad zur Treiberdatei, siehe (*). Bitte beachten, dass der Treiber betriebssystemabhängig sein kann. Weitere Informationen in der Anleitung zum Sicherheitsstick oder unter https://www.sicherheitsstick.de. Signaturkarte: (**) Pfad zur Treiberdatei, welcher einen Zugriff auf die Signaturkarte ermöglicht, siehe (*). Weitere Informationen in der Anleitung zur Signaturkarte. Elektronischer Personalausweis (nPA) oder Aufenthaltstitel (eAT): Die URL des eID-Clients wie zum Beispiel der AusweisApp 2. In den meisten Fällen lautet diese URL: http://127.0.0.1:24727/eID-Client Optional kann auf die folgende Weise noch ein Testmerker angehängt werden: http://127.0.0.1:24727/eID-Client?testmerker=520000000. Zu den verfügbaren Testmerkern siehe ERiC-Entwicklerhandbuch.pdf, Kap. "Testunterstützung bei der ERiC-Anbindung". Wichtig: Das Ad-hoc-Zertifikat, das in diesem Fall für den elektronischen Personalausweis erzeugt wird, ist nur 24 Stunden gültig.

(*) Wird der Dateipfad eines Treibers angegeben, ist der Suchmechanismus zu beachten, mit dem das jeweilige Betriebssystem dynamische Bibliotheken lädt. Weitere Informationen sind der Systemdokumentation zu den Betriebssystemfunktionen `LoadLibrary()` (Windows) bzw. `dlopen()` (Linux, AIX und macOS) zu entnehmen.

(**) Bei Signaturkarten erfolgt eine PIN-Abfrage nicht beim Aufruf von OttoZertifikatOeffnen(), sondern beim Aufruf von OttoPruefsummeSignieren(), OttoEmpfangBeginnen() und OttoEmpfangBeginnenAbholzertifikat().

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 ERiC-Entwicklerhandbuch.pdf, Kapitel "Übergabe von Pfaden an ERiC API-Funktionen".

Parameter

  [in] | zertifikatsPasswort | Das Passwort oder die PIN des Sicherheitstokens. Bei Tokens, bei denen das Passwort oder die PIN nicht von der Anwendung übergeben, sondern separat über einen Treiber (z. B. von einem Kartenlesegerät) abgefragt wird, ist hier NULL zu übergeben.
  [out] | zertifikat | Handle auf das erstellte Zertifikatsobjekt

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoZertifikatSchliessen()
  - OttoZertifikatOeffnenAusBytes()

## ◆ OttoZertifikatOeffnenAusBytes()

OttoStatusCode OttoZertifikatOeffnenAusBytes | ( | OttoInstanzHandle | instanz,
|  | const byteChar * | pkcs12Container,
|  | uint32_t | containerGroesse,
|  | const byteChar * | zertifikatsPasswort,
|  | OttoZertifikatHandle * | zertifikat )

Erstellt ein Otto-Zertifikatsobjekt für ein PKCS#12-Sicherheitstoken, das im Hauptspeicher übergeben wird.

Das Zertifikatsobjekt ist an die Otto-Instanz gebunden, für die es erzeugt wurde, und darf nicht zusammen mit einer anderen Otto-Instanz oder mit Objekten anderer Otto-Instanzen verwendet werden. Soll ein PKCS#12-Container von mehreren Otto-Instanzen verwendet werden, so sind hierfür mehrere Zertifikatsobjekte zu erstellen: für jede Instanz eines.

Parameter

  [in] | instanz | Handle der Otto-Instanz, die das Zertifikatsobjekt verwenden soll.
  [in] | pkcs12Container | Adresse des PKCS#12-Containers im Hauptspeicher. Es werden nur passwortgeschützte PKCS#12-Container akzeptiert.
  [in] | containerGroesse | Größe des PKCS#12-Containers in Bytes
  [in] | zertifikatsPasswort | Das Passwort oder die PIN des PKCS#12-Containers. Dieser Parameter darf nicht NULL sein.
  [out] | zertifikat | Handle auf das erstellte Zertifikatsobjekt

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoZertifikatSchliessen()
  - OttoZertifikatOeffnen()

## ◆ OttoZertifikatSchliessen()

OttoStatusCode OttoZertifikatSchliessen | ( | OttoZertifikatHandle | zertifikat | ) |

Schließt das Otto-Zertifikatsobjekt zu einem Sicherheitstoken. Anschließend darf das Zertifikatsobjekt nicht mehr verwendet werden.

Parameter

  [in] | zertifikat | Handle auf das Zertifikatsobjekt, das geschlossen werden soll.

Rückgabe
  - siehe otto_statuscode.h

Siehe auch
  - OttoZertifikatOeffnen()