Inhaltsverzeichnis

std.net.tls

TLS (Transport Layer Security) ist der Standard für verschlüsselte Netzwerkverbindungen und Nachfolger von SSL. Die Unit stellt eine Verbindungsschicht auf Basis von OpenSSL bereit und ermöglicht die Verschlüsselung beliebiger TCP-Verbindungen. Unterstützt wird die Server-Zertifikatsprüfung sowie transparentes Lesen und Schreiben über den verschlüsselten Kanal.

std.net.tls wird intern von std.net.https, std.net.imap (IMAPS), std.net.smtp (SMTPS) und anderen sicheren Protokollen als Unterbau verwendet. Direkte Nutzung ist sinnvoll, wenn ein eigenes Protokoll über eine TLS-Verbindung betrieben werden soll.


Externe Funktionen

Signatur Beschreibung
SSL_library_init(): int64 Initialisiert OpenSSL-Bibliothek
SSL_load_error_strings() Lädt OpenSSL-Fehlermeldungen
OpenSSL_add_all_algorithms() Registriert alle Krypto-Algorithmen
TLS_method(): int64 Gibt TLS-Aushandlungsmethode zurück
SSL_CTX_new(method: int64): int64 Erstellt neuen SSL-Kontext
SSL_CTX_free(ctx: int64) Gibt SSL-Kontext frei
SSL_CTX_set_default_verify_paths(ctx: int64): int64 Setzt Standard-Zertifikatspfade
SSL_new(ctx: int64): int64 Erstellt neue SSL-Verbindungsinstanz
SSL_free(ssl: int64) Gibt SSL-Verbindungsinstanz frei
SSL_set_fd(ssl: int64, fd: int64): int64 Verknüpft SSL mit Dateideskriptor
SSL_set_tlsext_host_name(ssl: int64, hostname: int64): int64 Setzt SNI-Hostname für TLS
SSL_set_verify(ssl: int64, mode: int64, callback: int64) Konfiguriert Zertifikatsverifizierung
SSL_get_verify_result(ssl: int64): int64 Liest Ergebnis der Zertifikatsprüfung
SSL_connect(ssl: int64): int64 Führt TLS-Handshake durch
SSL_read(ssl: int64, buf: int64, num: int64): int64 Liest Daten über TLS-Verbindung
SSL_write(ssl: int64, buf: int64, num: int64): int64 Schreibt Daten über TLS-Verbindung
SSL_shutdown(ssl: int64): int64 Beendet TLS-Verbindung geordnet
SSL_get_error(ssl: int64, ret: int64): int64 Liest letzten SSL-Fehlercode

Konstanten

Name Typ Wert Sichtbarkeit
SSL_VERIFY_NONE int64 0 pub
SSL_VERIFY_PEER int64 1 pub
X509_V_OK int64 0 pub
TLS_OK int64 0 pub
TLS_ERR_INIT int64 -1 pub
TLS_ERR_CTX int64 -2 pub
TLS_ERR_SSL int64 -3 pub
TLS_ERR_CONNECT int64 -4 pub
TLS_ERR_READ int64 -5 pub
TLS_ERR_WRITE int64 -6 pub
TLS_ERR_VERIFY int64 -7 pub

Typen

TLSContext (struct)

Feld Typ

TLSConn (struct)

Feld Typ

Funktionen

Signatur Sichtbarkeit Beschreibung
TLSInit(): TLSContext pub Initialisiert TLS-Kontext via OpenSSL
TLSConnect(ctx: TLSContext, fd: int64, hostname: int64): TLSConn pub Öffnet TLS-Verbindung über TCP-Socket
TLSRead(conn: TLSConn, buf: int64, bufsize: int64): int64 pub Liest Daten über TLS-Verbindung
TLSWrite(conn: TLSConn, buf: int64, bufsize: int64): int64 pub Schreibt Daten über TLS-Verbindung
TLSClose(conn: TLSConn) pub Schließt TLS-Verbindung
TLSFree(ctx: TLSContext) pub Gibt TLS-Kontext frei