Domanda

Sto usando un'applicazione che utilizza OpenSSL per lato client TLS. Noi aggiornare la versione OpenSSL da 0.9.8e a 0.9.8k. E poi TLS non funziona ...

spettacoli Wireshark che la nuova versione (con OpenSSL 0.9.8k) invia il pacchetto client ciao con estensione SessionTicket -. E le risponde lato server con un errore fatale

La versione precedente invia un pacchetto ciao quasi identico, ma senza l'ext SessionTicket.

Quando ho sostituito con TLSv1_client_method SSLv23_client_method, tutto ha funzionato bene - il pacchetto client ha inviato ciao era uno SSLv2 uno (Nella sniffer) senza alcuna estensione

(come non era TLS ma SSL?)

C'è un modo migliore per disattivare l'estensione o per risolvere il problema in un altro modo?

Grazie in anticipo, rursw1

È stato utile?

Soluzione

Quota da RFC 5077: “Si noti che la codifica di un prolungamento SessionTicket vuoto era    ambiguo in RFC 4507. Un RFC 4507 attuazione può essere codificato    come:

    00 23      Extension type 35
    00 02      Length of extension contents
    00 00      Length of ticket

o può essere codificato allo stesso modo come questo aggiornamento:

    00 23      Extension type 35
    00 00      Length of extension contents

Un server che desiderano supportare RFC 4507 client dovrebbe rispondere a un    estensione SessionTicket vuoto codificato allo stesso modo come ricevuto. “ Quindi il server ho lavorato con supporti RFC 4507 e non il più recente 5077.

La rimozione 'normalmente' utilizzando SSL_CTX_set_options con SSL_OP_NO_TICKET risolto il problema.

Spero che questo vi aiuterà qualcuno ...

EDIT: Beh, questo può essere fatto anche con il flag di configurazione -no-tlsext. (Quando si esegue la Configurazione script perl). Ma, attenzione che in OpenSSL 0.9.8n e OpenSSL 1.0.0, sarà necessario commentare alcune parti del codice sorgente o non si compila - come la rinegoziazione sicuro (che è considerato essere pericoloso per sé) richiede esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top