Scroll to navigation

BN_COPY(3SSL) OpenSSL BN_COPY(3SSL)

BEZEICHNUNG

BN_copy, BN_dup, BN_with_flags - BIGNUMs kopieren

ÜBERSICHT

 #include <openssl/bn.h>
 BIGNUM *BN_copy(BIGNUM *to, const BIGNUM *from);
 BIGNUM *BN_dup(const BIGNUM *from);
 void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags);

BESCHREIBUNG

BN_copy() kopiert from nach to. BN_dup() erstellt eine neue BIGNUM, die den Wert from enthält.

BN_with_flags erstellt eine temporäre flache Kopie von b in dest. Sie legt signifikante Einschränkungen auf die kopierten Daten. Anwendungen, die sich nicht an diese Einschränkungen halten, könnten unerwartete Seiteneffekte oder Abstürze erleben. Aus diesem Grund wird von der Verwendung dieser Funktion abgeraten. Sämtliche in flags bereitgestellte Schalter werden in dest gesetzt, ergänzend zu allen in b bereits gesetzten Schaltern. Beispielsweise könnte dies typischerweise zur Erstellung einer temporären Kopie einer BIGNUM mit gesetztem Schalter BN_FLG_CONSTTIME verwandt werden, um Aktionen mit konstanter Zeit zu setzen. Die temporäre Kopie in dest teilt sich einen Teil des internen Zustands mit b. Daher gelten die folgenden Einschränkungen bei der Verwendung von dest:

  • dest sollte eine frisch reservierte BIGNUM sein, die mittels Aufruf von BN_new(3ssl) erlangt wurde. Sie sollte nicht bereits für andere Zwecke verwandt oder auf irgendeine Weise initialisiert worden sein.
  • dest darf nur in »rein lesenden« Aktionen verwandt werden, d.h. typischerweise in solchen Funktionen, bei denen der relevante Parameter als »const« deklariert ist.
  • dest muss vor jeder nachfolgenden Verwendung von b verwandt und freigegeben worden sein.

RÜCKGABEWERTE

BN_copy() liefert im Erfolgsfall to und NULL bei Fehlern zurück. BN_dup() liefert die neue BIGNUM zurück und NULL bei Fehlern. Die Fehler-Codes können mittels ERR_get_error(3) erhalten werden.

SIEHE AUCH

ERR_get_error(3)

COPYRIGHT

Copyright 2000-2017 Die OpenSSL-Projekt-Autoren. Alle Rechte vorbehalten.

Lizenziert under der Apache License 2.0 (der »Lizenz«). Sie dürfen diese Datei nur verwenden, wenn Sie der Lizenz folgen. Sie können eine Kopie der Lizenz in der Datei LICENSE in der Quelldistribution finden oder unter <https://www.openssl.org/source/license.html>.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

7. April 2026 3.5.6