sgcCustomIndy TLS 1.3. HTTP/2 tramite ALPN. Niente da disinstallare.

La libreria Indy standard non supporta ALPN, e non supporta TLS 1.3 tramite OpenSSL 1.1.1 o 3.x. sgcWebSockets Enterprise include una build personalizzata di Indy che li supporta. sgcCustomIndy porta la stessa build in sgcWebSockets Core, installata accanto all'Indy già presente nel tuo IDE.

  • ALPN e HTTP/2
  • TLS 1.3
  • OpenSSL 1.1.1 e 3.x
  • OpenSSL statico
  • Delphi da 7 a 13
  • C++ Builder
INDY STANDARD IdGlobal.pas IdTCPClient.pas IdSSLOpenSSL.pas già nel tuo IDE, resta installato INDY PERSONALIZZATO sgcIdGlobal.pas sgcIdTCPClient.pas sgcIdSSLOpenSSL.pas aggiunto dal pacchetto, nessun conflitto di nomi HANDSHAKE TLS 1.3 CON ALPN Client Server ClientHello, ALPN [h2, http/1.1] ServerHello, ALPN h2 Stream HTTP/2 su una sola connessione
  • 0Librerie Indy da disinstallare
  • 0Indy 10 installato su Delphi 7
  • 3Funzionalità che l'Indy standard non ha
  • 1Unit per OpenSSL statico
  • 2Target di collegamento statico, Windows 32 e 64 bit
Cosa sblocca

Tre cose che la libreria Indy standard non può fare.

Ogni voce qui sotto è una capacità del livello Indy stesso, non di un componente che gli sta sopra. Per questo sostituire la libreria Indy è ciò che le attiva.

CLIENTHELLO Offerte ALPN h2 http/1.1 Il server sceglie h2 stream 1 stream 3 stream 5 Stream HTTP/2 Negoziato all'interno dell'handshake TLS, sotto qualsiasi componente HTTP.
ALPN

L'estensione su cui si basa HTTP/2.

  • Il client dichiara i protocolli che sa parlare e il server ne sceglie uno, durante l'handshake TLS.
  • Questa negoziazione avviene all'interno del livello TLS, sotto tutto ciò che un componente HTTP può raggiungere.
  • La libreria Indy standard non la supporta. La libreria Indy personalizzata rende disponibili ALPN e, con esso, HTTP/2.
INDY STANDARD TLS 1.3 limitato alle API OpenSSL più vecchie INDY PERSONALIZZATO TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x Client e server raggiungono endpoint che richiedono TLS 1.3.
TLS 1.3, OpenSSL 1.1.1 e 3.x

I rami moderni di OpenSSL, finalmente raggiungibili.

  • TLS 1.3 richiede OpenSSL 1.1.1 oppure OpenSSL 3.0.0, e la libreria Indy standard non supporta questi rami.
  • La libreria Indy personalizzata li supporta, quindi un client o un server costruito su di essa negozia TLS 1.3 con gli endpoint che lo richiedono.
  • Niente più limiti a ciò che offre la vecchia API di OpenSSL.
TRE FILE DA DISTRIBUIRE app.exe libssl libcrypto UN FILE DA DISTRIBUIRE app.exe OpenSSL collegato uses sgcIdSSLOpenSSL_Static; Windows 32 e 64 bit, Delphi XE2 o successivo.
OpenSSL statico

OpenSSL dentro l'eseguibile.

  • OpenSSL è collegato direttamente alla tua applicazione invece di essere caricato a runtime dalle DLL libcrypto e libssl.
  • Un'applicazione TLS si distribuisce come un solo file, sia per i componenti client sia per quelli server.
  • Ha effetto solo quando è in uso la libreria Indy personalizzata, su Windows 32 e 64 bit con Delphi XE2 o successivo.
Coesistenza

Convive con l'Indy che hai già.

Sostituire la libreria Indy in un IDE è la parte che nessuno vuole fare, quindi questo pacchetto non lo richiede. I file dell'Indy personalizzato hanno il prefisso sgc, IdGlobal diventa sgcIdGlobal, e le due versioni convivono senza problemi.

Niente da disinstallare

Qualunque Indy abbia già il tuo IDE resta installato e registrato. Non c'è alcun passaggio in cui rimuovere un pacchetto, ripristinarlo in seguito o mantenere due profili dell'IDE.

Progetti esistenti intatti

Tutto ciò che compili già con la libreria Indy standard continua a compilare con essa, con le stesse identiche unit. La build personalizzata è un'aggiunta, non una sostituzione.

Un solo define del compilatore

L'uso della libreria Indy personalizzata è controllato da SGC_CUSTOM_INDY in sgcVer.inc. Disattivare di nuovo la build personalizzata è una modifica di una riga.

Codice sorgente completo, come sempre

Le unit Indy rinominate sono fornite come sorgente con la licenza, quindi si compilano con le impostazioni del tuo progetto e si seguono passo passo nel debugger come il resto della libreria.

Nessuna installazione di Indy 10 su Delphi 7

Delphi 7 include un Indy più vecchio. Con la libreria Indy personalizzata inclusa, non c'è alcun Indy 10 da trovare, installare nell'IDE o mantenere allineato ai componenti.

La build usata da Enterprise

La libreria Indy personalizzata non è nuova. È ciò su cui è costruito da sempre sgcWebSockets Enterprise, e questo pacchetto è la via per portarla in sgcWebSockets Core.

Il codice

Una unit, un file da distribuire.

Non c'è nulla da configurare. Aggiungi sgcIdSSLOpenSSL_Static alla clausola uses, per esempio nel .dprprincipale, e l'applicazione userà l'OpenSSL collegato all'eseguibile dalla prossima esecuzione.

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, nella cartella dei sorgenti

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

Su una versione o una piattaforma in cui il collegamento statico non è disponibile non si rompe nulla. L'applicazione continua a caricare le DLL di OpenSSL come prima, quindi lo stesso sorgente compila ovunque. Dove si applica il collegamento statico

Piattaforme

Dove si può collegare un file oggetto in questo formato.

  • Windows 32 bit
  • Windows 64 bit

Compilatore

Le versioni precedenti segnalano un formato di file oggetto non valido, quindi il collegamento statico parte da Delphi XE2.

  • Delphi XE2 e successivi

Prerequisito

Il collegamento statico non ha alcun effetto senza la libreria Indy personalizzata in uso.

  • SGC_CUSTOM_INDY definito
Parte di sgcWebSockets

Un componente aggiuntivo, non un ordine separato.

sgcCustomIndy si aggancia a una licenza sgcWebSockets Core. Viene proposto come primo componente aggiuntivo consigliato all'interno di un ordine Core, quindi lo aggiungi con un clic mentre ordini sgcAI, sgcMQ o sgcSocial, e arriva sulla stessa licenza.

Core con sgcCustomIndy

La stessa build personalizzata usata da Enterprise, aggiunta durante un ordine Core. Codice sorgente completo e 1 anno di aggiornamenti.

€149 / sviluppatore

Incluso con sgcAuth e sgcHTTP

Il supporto WebAuthn in sgcAuth e i client HTTP/2 e gRPC in sgcHTTP lo richiedono, quindi ordinare l'uno o l'altro pacchetto include sempre sgcCustomIndy. Il prezzo di listino del pacchetto lo copre già.

Già in Enterprise e All-Access

La libreria Indy personalizzata fa parte di sgcWebSockets Enterprise e di eSeGeCe All-Access, ed è attiva per impostazione predefinita. Se hai una delle due, non c'è nulla da aggiungere. Standard e Professional usano la libreria Indy standard.

Non è la stessa cosa di sgcIndy, il pacchetto Indy completo che installi al posto dell'Indy del tuo IDE. Quale edizione ti serve

Vedi i prezzi

Porta il livello Indy all'ultima versione.

ALPN e HTTP/2, TLS 1.3 su OpenSSL 1.1.1 e 3.x, e OpenSSL dentro l'eseguibile su Windows. Tutto accanto all'Indy che hai già. Il trial di sgcWebSockets ha l'intero set di funzionalità Enterprise, Custom Indy incluso.

Le ultime dal blog

Vedi tutti gli articoli →

Questa è la vista sgcCustomIndy di eSeGeCe.

Mostrami un altro punto di vista →
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso