Wie kann ich nach dem Aufruf von SSL_connect() in einem TLS-Client mithilfe der API OpenSSL library herausfinden, welche Chiffre (und welches Protokoll) tatsächlich ausgehandelt wurde?Wie ausgehandelte Chiffre mithilfe der OpenSSL-Bibliothek
2
A
Antwort
4
Sie können SSL_get_current_cipher verwenden, um herauszufinden, welche Chiffre als Teil des Handshakes ausgehandelt wurde.
SSL_get_current_cipher() gibt einen Zeiger auf ein Objekt SSL_CIPHER die Beschreibung des tatsächlich verwendeten cipher eine Verbindung eingerichtet mit dem ssl Objekt enthält.
Sie können die Protokollversion aus dem Feld version
im Objekt SSL
abrufen.
SSL *s;
/* handshake */
int version = s->version;
Das hat funktioniert - danke! Auch - um einen String-Wert der Chiffre zu erhalten, führe SSL_CIPHER_get_name (Chiffre) aus. Um einen String-Wert des Protokolls zu erhalten, verwenden Sie SSL_get_version (ssl). –