sgcCustomIndy TLS 1.3. HTTP/2 via ALPN. Niets te verwijderen.

De standaard Indy-bibliotheek ondersteunt geen ALPN en ook geen TLS 1.3 via OpenSSL 1.1.1 of 3.x. sgcWebSockets Enterprise levert een custom build van Indy mee die dat wel doet. sgcCustomIndy brengt diezelfde build naar sgcWebSockets Core, geïnstalleerd naast de Indy die al in je IDE zit.

  • ALPN en HTTP/2
  • TLS 1.3
  • OpenSSL 1.1.1 en 3.x
  • Statische OpenSSL
  • Delphi 7 t/m 13
  • C++ Builder
STANDAARD INDY IdGlobal.pas IdTCPClient.pas IdSSLOpenSSL.pas al in je IDE, blijft geïnstalleerd CUSTOM INDY sgcIdGlobal.pas sgcIdTCPClient.pas sgcIdSSLOpenSSL.pas toegevoegd door het pakket, geen naamconflicten TLS 1.3-HANDSHAKE MET ALPN Client Server ClientHello, ALPN [h2, http/1.1] ServerHello, ALPN h2 HTTP/2-streams op één verbinding
  • 0Indy-bibliotheken om te verwijderen
  • 0Indy 10-installaties op Delphi 7
  • 3Mogelijkheden die standaard Indy mist
  • 1Unit voor statische OpenSSL
  • 2Doelen voor statisch linken, Windows 32 en 64 bit
Wat het ontgrendelt

Drie dingen die de standaard Indy-bibliotheek niet kan.

Elk onderstaand punt is een mogelijkheid van de Indy-laag zelf, niet van een component erboven. Daarom zet het wisselen van de Indy-bibliotheek ze aan.

CLIENTHELLO ALPN-aanbod h2 http/1.1 Server kiest h2 stream 1 stream 3 stream 5 HTTP/2-streams Onderhandeld binnen de TLS-handshake, onder elke HTTP-component.
ALPN

De extensie waarop HTTP/2 is gebouwd.

  • De client geeft tijdens de TLS-handshake aan welke protocollen hij kan spreken en de server kiest er één.
  • Die onderhandeling gebeurt binnen de TLS-laag, onder alles wat een HTTP-component kan bereiken.
  • De standaard Indy-bibliotheek ondersteunt het niet. De custom Indy-bibliotheek maakt ALPN, en daarmee HTTP/2, beschikbaar.
STANDAARD INDY TLS 1.3 beperkt tot de oudere OpenSSL-API CUSTOM INDY TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x Clients en servers bereiken endpoints die TLS 1.3 vereisen.
TLS 1.3, OpenSSL 1.1.1 en 3.x

De moderne OpenSSL-takken, eindelijk bereikbaar.

  • TLS 1.3 vereist OpenSSL 1.1.1 of OpenSSL 3.0.0 en de standaard Indy-bibliotheek ondersteunt die takken niet.
  • De custom Indy-bibliotheek wel, dus een client of server die erop is gebouwd onderhandelt TLS 1.3 met endpoints die dat vereisen.
  • Niet langer beperkt tot wat de oudere OpenSSL-API biedt.
DRIE BESTANDEN OM TE DEPLOYEN app.exe libssl libcrypto ÉÉN BESTAND OM TE DEPLOYEN app.exe OpenSSL ingelinkt uses sgcIdSSLOpenSSL_Static; Windows 32 en 64 bit, Delphi XE2 of nieuwer.
Statische OpenSSL

OpenSSL binnen in het uitvoerbare bestand.

  • OpenSSL wordt rechtstreeks in je applicatie gelinkt in plaats van tijdens runtime uit de libcrypto- en libssl-DLL's geladen.
  • Een TLS-applicatie wordt als één bestand uitgerold, voor client- en servercomponenten.
  • Het werkt alleen wanneer de custom Indy-bibliotheek in gebruik is, op Windows 32 en 64 bit met Delphi XE2 of nieuwer.
Naast elkaar bestaan

Het staat naast de Indy die je al hebt.

De Indy-bibliotheek in een IDE vervangen is het deel dat niemand wil doen, dus dit pakket vraagt dat niet. De custom Indy-bestanden hebben een sgc-prefix, IdGlobal wordt sgcIdGlobal, en beide versies bestaan zonder problemen naast elkaar.

Niets te verwijderen

Welke Indy je IDE ook heeft, die blijft geïnstalleerd en geregistreerd. Er is geen stap waarin je een pakket verwijdert, het later herstelt of twee IDE-profielen bijhoudt.

Bestaande projecten blijven ongemoeid

Alles wat je al tegen de standaard Indy-bibliotheek bouwt, blijft ertegen compileren, byte voor byte dezelfde units. De custom build is een aanvulling, geen vervanging.

Eén compilerdefine

Het gebruik van de custom Indy-bibliotheek wordt geregeld door SGC_CUSTOM_INDY in sgcVer.inc. De custom build weer uitzetten is een wijziging van één regel.

Volledige broncode, zoals altijd

De hernoemde Indy-units worden als broncode met de licentie meegeleverd, dus ze compileren met je projectinstellingen en zijn in je debugger te doorlopen zoals de rest van de bibliotheek.

Geen Indy 10-installatie op Delphi 7

Delphi 7 wordt geleverd met een oudere Indy. Met de custom Indy-bibliotheek meegeleverd hoef je geen Indy 10 te zoeken, in de IDE te installeren of op de componenten af te stemmen.

De build die Enterprise gebruikt

De custom Indy-bibliotheek is niet nieuw. Het is waarop sgcWebSockets Enterprise is gebouwd, en dit pakket is de weg ernaartoe voor sgcWebSockets Core.

De code

Eén unit, één bestand om te deployen.

Er is niets te configureren. Voeg sgcIdSSLOpenSSL_Static toe aan de uses-clausule, bijvoorbeeld in de hoofd-.dpr, en de applicatie gebruikt bij de volgende start de OpenSSL die in het uitvoerbare bestand is gelinkt.

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, in de bronmap

{$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.

Op een versie of platform waar statisch linken niet beschikbaar is, gaat er niets stuk. De applicatie blijft de OpenSSL-DLL's laden zoals voorheen, dus dezelfde broncode bouwt overal. Waar statisch linken van toepassing is

Platformen

Waar een objectbestand in dit formaat kan worden gelinkt.

  • Windows 32 bit
  • Windows 64 bit

Compiler

Oudere versies melden een ongeldig objectbestandsformaat, dus statisch linken begint bij Delphi XE2.

  • Delphi XE2 en nieuwer

Vereiste

Statisch linken heeft geen effect zonder gebruik van de custom Indy-bibliotheek.

  • SGC_CUSTOM_INDY gedefinieerd
Onderdeel van sgcWebSockets

Een add-on, geen aparte bestelling.

sgcCustomIndy hoort bij een sgcWebSockets Core-licentie. Het wordt aangeboden als eerste aanbevolen add-on binnen een Core-bestelling, dus je voegt het met één klik toe tijdens het bestellen van sgcAI, sgcMQ of sgcSocial en het komt op dezelfde licentie.

Core met sgcCustomIndy

Dezelfde custom build die Enterprise gebruikt, toegevoegd tijdens een Core-bestelling. Volledige broncode en 1 jaar updates.

€149 / ontwikkelaar

Inbegrepen bij sgcAuth en sgcHTTP

De WebAuthn-ondersteuning in sgcAuth en de HTTP/2- en gRPC-clients in sgcHTTP hebben het nodig, dus elke bestelling van een van beide pakketten bevat sgcCustomIndy. De vermelde prijs van het pakket dekt het al.

Al in Enterprise en All-Access

De custom Indy-bibliotheek maakt deel uit van sgcWebSockets Enterprise en van eSeGeCe All-Access, standaard ingeschakeld. Heb je een van beide, dan hoef je niets toe te voegen. Standard en Professional gebruiken de standaard Indy-bibliotheek.

Niet hetzelfde als sgcIndy, het volledige Indy-pakket dat je installeert in plaats van de Indy in je IDE. Welke editie je nodig hebt

Bekijk prijzen

Breng de Indy-laag up-to-date.

ALPN en HTTP/2, TLS 1.3 via OpenSSL 1.1.1 en 3.x, en OpenSSL binnen het uitvoerbare bestand op Windows. Alles naast de Indy die je al hebt. De sgcWebSockets-proefversie heeft de volledige Enterprise-functieset, custom Indy inbegrepen.

Laatste blogberichten

Bekijk alle berichten →

Je bekijkt nu de sgcCustomIndy-weergave van eSeGeCe.

Toon me een andere kant →
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid