chiave master rinegoziata in openssl s_client

0

OpenSSL c_client (CLI) stampa la chiave master durante l'handshake iniziale. Questo può essere bastonato con client random per decrittografare l'acquisizione di pacchetti in Wireshark. Tuttavia, le chiavi casuali e master cambiano dopo la rinegoziazione e la decrittografia dei pacchetti smette di funzionare dopo questo.

C'è un modo per stampare la chiave master dopo la rinegoziazione sicura (dal client della riga di comando)

    
posta vpillai 20.04.2017 - 06:22
fonte

1 risposta

0

Sembra che questo non sia supportato in s_client. Tuttavia, è possibile stampare le chiavi rinegoziate dirottando la funzione SSL_read nel file ssl/ssl_lib.c della libreria openssl.

Ho aggiunto il seguente codice a SSL_read() .

int i;
printf("key is: ");
for(i=0;i<48;i++){
  printf("%.2X",s->session->master_key[i]);
}    
printf("\n");

Poi ho eseguito apps/openssl s_client con LD_LIBRARY_PATH=. per stampare le chiavi utilizzate per ciascuna operazione di lettura.

Nota: la decrittografia basata su chiave rinegoziata non è supportata nelle versioni precedenti di Wireshark. Ho usato Wireshark-win64-2.3.0-3548-gc30bb2c

    
risposta data 18.05.2017 - 06:44
fonte

Leggi altre domande sui tag