[#OSSL_HANDSHAKE_STATE] = OSSL_HANDSHAKE_STATE :mrdocs: Fine‐grained TLS/DTLS handshake state machine values reported by SSL_get_state(). == Synopsis Declared in `<openssl/ssl.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- enum OSSL_HANDSHAKE_STATE; ---- == Members [cols="1,4"] |=== | Name| Description | `TLS_ST_BEFORE` | No handshake has been initiated yet. | `TLS_ST_OK` | Handshake completed successfully; protected application data may flow. | `DTLS_ST_CR_HELLO_VERIFY_REQUEST` | Handshake completed successfully; protected application data may flow. | `TLS_ST_CR_SRVR_HELLO` | Client reading ServerHello. | `TLS_ST_CR_CERT` | Client reading Certificate. | `TLS_ST_CR_COMP_CERT` | Client reading CompressedCertificate. | `TLS_ST_CR_CERT_STATUS` | Client reading CertificateStatus (OCSP stapling). | `TLS_ST_CR_KEY_EXCH` | Client reading CertificateStatus (OCSP stapling). | `TLS_ST_CR_CERT_REQ` | Client reading CertificateStatus (OCSP stapling). | `TLS_ST_CR_SRVR_DONE` | Client reading CertificateStatus (OCSP stapling). | `TLS_ST_CR_SESSION_TICKET` | Client reading CertificateStatus (OCSP stapling). | `TLS_ST_CR_CHANGE` | Client reading ChangeCipherSpec. | `TLS_ST_CR_FINISHED` | Client reading ChangeCipherSpec. | `TLS_ST_CW_CLNT_HELLO` | Client writing ClientHello. | `TLS_ST_CW_CERT` | Client writing ClientHello. | `TLS_ST_CW_COMP_CERT` | Client writing CompressedCertificate. | `TLS_ST_CW_KEY_EXCH` | Client writing ClientKeyExchange. | `TLS_ST_CW_CERT_VRFY` | Client writing ClientKeyExchange. | `TLS_ST_CW_CHANGE` | Client writing ClientKeyExchange. | `TLS_ST_CW_NEXT_PROTO` | Client writing ClientKeyExchange. | `TLS_ST_CW_FINISHED` | Client writing ClientKeyExchange. | `TLS_ST_SW_HELLO_REQ` | Client writing ClientKeyExchange. | `TLS_ST_SR_CLNT_HELLO` | Client writing ClientKeyExchange. | `DTLS_ST_SW_HELLO_VERIFY_REQUEST` | DTLS server writing HelloVerifyRequest. | `TLS_ST_SW_SRVR_HELLO` | DTLS server writing HelloVerifyRequest. | `TLS_ST_SW_CERT` | DTLS server writing HelloVerifyRequest. | `TLS_ST_SW_COMP_CERT` | Server writing CompressedCertificate. | `TLS_ST_SW_KEY_EXCH` | Server writing ServerKeyExchange. | `TLS_ST_SW_CERT_REQ` | Server writing CertificateRequest. | `TLS_ST_SW_SRVR_DONE` | Server writing ServerHelloDone. | `TLS_ST_SR_CERT` | Server writing ServerHelloDone. | `TLS_ST_SR_COMP_CERT` | Server writing ServerHelloDone. | `TLS_ST_SR_KEY_EXCH` | Server writing ServerHelloDone. | `TLS_ST_SR_CERT_VRFY` | Server writing ServerHelloDone. | `TLS_ST_SR_NEXT_PROTO` | Server writing ServerHelloDone. | `TLS_ST_SR_CHANGE` | Server reading ChangeCipherSpec. | `TLS_ST_SR_FINISHED` | Server reading ChangeCipherSpec. | `TLS_ST_SW_SESSION_TICKET` | Server reading ChangeCipherSpec. | `TLS_ST_SW_CERT_STATUS` | Server reading ChangeCipherSpec. | `TLS_ST_SW_CHANGE` | Server reading ChangeCipherSpec. | `TLS_ST_SW_FINISHED` | Server reading ChangeCipherSpec. | `TLS_ST_SW_ENCRYPTED_EXTENSIONS` | Server reading ChangeCipherSpec. | `TLS_ST_CR_ENCRYPTED_EXTENSIONS` | Server reading ChangeCipherSpec. | `TLS_ST_CR_CERT_VRFY` | Server reading ChangeCipherSpec. | `TLS_ST_SW_CERT_VRFY` | Server reading ChangeCipherSpec. | `TLS_ST_CR_HELLO_REQ` | Server reading ChangeCipherSpec. | `TLS_ST_SW_KEY_UPDATE` | Server reading ChangeCipherSpec. | `TLS_ST_CW_KEY_UPDATE` | Server reading ChangeCipherSpec. | `TLS_ST_SR_KEY_UPDATE` | Server reading ChangeCipherSpec. | `TLS_ST_CR_KEY_UPDATE` | Server reading ChangeCipherSpec. | `TLS_ST_EARLY_DATA` | Server reading ChangeCipherSpec. | `TLS_ST_PENDING_EARLY_DATA_END` | Server reading ChangeCipherSpec. | `TLS_ST_CW_END_OF_EARLY_DATA` | Server reading ChangeCipherSpec. | `TLS_ST_SR_END_OF_EARLY_DATA` | Server reading ChangeCipherSpec. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#