sgcCustomIndy TLS 1.3. HTTP/2 über ALPN. Nichts zu deinstallieren.

Die Standard-Indy-Bibliothek unterstützt weder ALPN noch TLS 1.3 über OpenSSL 1.1.1 oder 3.x. sgcWebSockets Enterprise liefert einen angepassten Indy-Build mit, der beides kann. sgcCustomIndy bringt genau diesen Build in sgcWebSockets Core, installiert neben dem Indy, das bereits in deiner IDE steckt.

  • ALPN und HTTP/2
  • TLS 1.3
  • OpenSSL 1.1.1 und 3.x
  • Statisches OpenSSL
  • Delphi 7 bis 13
  • C++ Builder
STANDARD-INDY IdGlobal.pas IdTCPClient.pas IdSSLOpenSSL.pas bereits in deiner IDE, bleibt installiert CUSTOM INDY sgcIdGlobal.pas sgcIdTCPClient.pas sgcIdSSLOpenSSL.pas vom Paket ergänzt, keine Namenskollision TLS-1.3-HANDSHAKE MIT ALPN Client Server ClientHello, ALPN [h2, http/1.1] ServerHello, ALPN h2 HTTP/2-Streams auf einer Verbindung
  • 0Indy-Bibliotheken zu deinstallieren
  • 0Indy-10-Installationen unter Delphi 7
  • 3Fähigkeiten, die dem Standard-Indy fehlen
  • 1Unit für statisches OpenSSL
  • 2Ziele für statisches Linken, Windows 32 und 64 Bit
Was es freischaltet

Drei Dinge, die die Standard-Indy-Bibliothek nicht kann.

Jeder der folgenden Punkte ist eine Fähigkeit der Indy-Schicht selbst, nicht einer Komponente darüber. Deshalb schaltet der Austausch der Indy-Bibliothek sie frei.

CLIENTHELLO ALPN bietet an h2 http/1.1 Server wählt h2 Stream 1 Stream 3 Stream 5 HTTP/2-Streams Im TLS-Handshake ausgehandelt, unterhalb jeder HTTP-Komponente.
ALPN

Die Erweiterung, auf der HTTP/2 aufbaut.

  • Der Client nennt die Protokolle, die er spricht, und der Server wählt während des TLS-Handshakes eines davon aus.
  • Diese Aushandlung findet innerhalb der TLS-Schicht statt, unterhalb von allem, was eine HTTP-Komponente erreichen kann.
  • Die Standard-Indy-Bibliothek unterstützt sie nicht. Die angepasste Indy-Bibliothek macht ALPN und damit HTTP/2 verfügbar.
STANDARD-INDY TLS 1.3 begrenzt auf die ältere OpenSSL-API CUSTOM INDY TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x Clients und Server erreichen Endpunkte, die TLS 1.3 verlangen.
TLS 1.3, OpenSSL 1.1.1 und 3.x

Die modernen OpenSSL-Zweige, endlich erreichbar.

  • TLS 1.3 braucht OpenSSL 1.1.1 oder OpenSSL 3.0.0, und die Standard-Indy-Bibliothek unterstützt diese Zweige nicht.
  • Die angepasste Indy-Bibliothek schon, ein darauf aufgebauter Client oder Server handelt TLS 1.3 daher auch mit Endpunkten aus, die es verlangen.
  • Keine Begrenzung mehr auf das, was die ältere OpenSSL-API bietet.
DREI DATEIEN ZUM AUSLIEFERN app.exe libssl libcrypto EINE DATEI ZUM AUSLIEFERN app.exe OpenSSL eingelinkt uses sgcIdSSLOpenSSL_Static; Windows 32 und 64 Bit, Delphi XE2 oder neuer.
Statisches OpenSSL

OpenSSL in der ausführbaren Datei.

  • OpenSSL wird direkt in deine Anwendung gelinkt, statt zur Laufzeit aus den DLLs libcrypto und libssl geladen zu werden.
  • Eine TLS-Anwendung wird als einzelne Datei ausgeliefert, für Client- und Server-Komponenten gleichermaßen.
  • Es greift nur, wenn die angepasste Indy-Bibliothek verwendet wird, unter Windows 32 und 64 Bit mit Delphi XE2 oder neuer.
Koexistenz

Es steht neben dem Indy, das du bereits hast.

Die Indy-Bibliothek in einer IDE zu ersetzen, ist der Teil, den niemand machen will, deshalb verlangt dieses Paket es nicht. Die Dateien der angepassten Indy-Bibliothek tragen ein sgc-Präfix, aus IdGlobal wird sgcIdGlobal, und beide Versionen koexistieren problemlos.

Nichts zu deinstallieren

Welches Indy deine IDE auch immer hat, es bleibt installiert und registriert. Es gibt keinen Schritt, in dem du ein Paket entfernst, später wiederherstellst oder zwei IDE-Profile vorhältst.

Bestehende Projekte bleiben unberührt

Alles, was du bereits gegen die Standard-Indy-Bibliothek baust, kompiliert weiter dagegen, mit byte-genau denselben Units. Der angepasste Build ist eine Ergänzung, kein Ersatz.

Ein Compiler-Define

Die Verwendung der angepassten Indy-Bibliothek wird durch SGC_CUSTOM_INDY in sgcVer.inc gesteuert. Den angepassten Build wieder abzuschalten, ist eine Änderung in einer Zeile.

Voller Quellcode, wie immer

Die umbenannten Indy-Units werden mit der Lizenz als Quellcode geliefert, sie kompilieren also mit deinen Projekteinstellungen und lassen sich in deinem Debugger durchlaufen wie der Rest der Bibliothek.

Keine Indy-10-Installation unter Delphi 7

Delphi 7 wird mit einem älteren Indy ausgeliefert. Mit der mitgelieferten angepassten Indy-Bibliothek muss kein Indy 10 gesucht, in die IDE installiert oder passend zu den Komponenten gehalten werden.

Der Build, den Enterprise verwendet

Die angepasste Indy-Bibliothek ist nicht neu. Auf ihr basiert sgcWebSockets Enterprise bereits, und dieses Paket ist der Weg dorthin für sgcWebSockets Core.

Der Code

Eine Unit, eine Datei zum Ausliefern.

Es gibt nichts zu konfigurieren. Füge sgcIdSSLOpenSSL_Static zur Uses-Klausel hinzu, zum Beispiel in der Haupt-.dpr, und die Anwendung verwendet beim nächsten Start das in die ausführbare Datei gelinkte OpenSSL.

Project1.dpr

uses
  sgcIdSSLOpenSSL_Static;

// That is the whole configuration. No compiler
// directive to enable, no OpenSSL API version to
// choose. Remove the unit again and the application
// goes back to loading the OpenSSL DLLs.

sgcVer.inc, im Source-Ordner

{$DEFINE SGC_CUSTOM_INDY}

// One define controls the custom Indy library.
// Static OpenSSL linking has no effect without it,
// and turning the custom build off again is a
// one line change.

Auf einer Version oder Plattform, auf der statisches Linken nicht verfügbar ist, geht nichts kaputt. Die Anwendung lädt weiter die OpenSSL-DLLs wie zuvor, derselbe Quellcode lässt sich also überall bauen. Wo statisches Linken gilt

Plattformen

Wo sich eine Objektdatei in diesem Format linken lässt.

  • Windows 32 Bit
  • Windows 64 Bit

Compiler

Ältere Versionen melden ein ungültiges Objektdateiformat, deshalb beginnt statisches Linken ab Delphi XE2.

  • Delphi XE2 und neuer

Voraussetzung

Statisches Linken hat keine Wirkung, wenn die angepasste Indy-Bibliothek nicht verwendet wird.

  • SGC_CUSTOM_INDY definiert
Teil von sgcWebSockets

Ein Add-on, keine separate Bestellung.

sgcCustomIndy hängt an einer sgcWebSockets Core-Lizenz. Es wird als erstes empfohlenes Add-on innerhalb einer Core-Bestellung angeboten, du fügst es also mit einem Klick hinzu, während du sgcAI, sgcMQ oder sgcSocial bestellst, und es kommt auf derselben Lizenz an.

Core mit sgcCustomIndy

Derselbe angepasste Build, den Enterprise verwendet, hinzugefügt während einer Core-Bestellung. Voller Quellcode und 1 Jahr Updates.

€149 / Entwickler

Enthalten in sgcAuth und sgcHTTP

Die WebAuthn-Unterstützung in sgcAuth und die HTTP/2- und gRPC-Clients in sgcHTTP setzen es voraus, jede Bestellung eines der beiden Pakete enthält daher sgcCustomIndy. Der ausgewiesene Preis des Pakets deckt es bereits ab.

Bereits in Enterprise und All-Access

Die angepasste Indy-Bibliothek ist Teil von sgcWebSockets Enterprise und von eSeGeCe All-Access, standardmäßig aktiviert. Wenn du eines von beiden hast, musst du nichts hinzufügen. Standard und Professional verwenden die Standard-Indy-Bibliothek.

Nicht dasselbe wie sgcIndy, das vollständige Indy-Paket, das du anstelle des Indy in deiner IDE installierst. Welche Edition du brauchst

Preise ansehen

Bring die Indy-Schicht auf den neuesten Stand.

ALPN und HTTP/2, TLS 1.3 über OpenSSL 1.1.1 und 3.x und OpenSSL in der ausführbaren Datei unter Windows. Alles neben dem Indy, das du bereits hast. Die sgcWebSockets-Testversion enthält den vollen Enterprise-Funktionsumfang, einschließlich des angepassten Indy.

Neues aus dem Blog

Alle Beiträge ansehen →

Du siehst gerade die Ansicht sgcCustomIndy von eSeGeCe.

Zeig mir eine andere Perspektive →
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen