SSL_state(3) — Subroutines
NAME
SSL_state − Get a description of an SSL state
SYNOPSIS
#include <openssl/ssl.h>
int SSL_state(
SSL ∗ssl ); char ∗SSL_state_string(
SSL ∗ssl ); char ∗SSL_state_string_long(
SSL ∗ssl );
DESCRIPTION
These APIs are used to get the information about the current SSL state.
The SSL_state() function takes the address of the current SSL structure and return its state code (integer).
The SSL_state_string() function takes the address of the current SSL structure and return an address of its state code (string).
The SSL_state_string_long() function takes the address of the current SSL structure and return an address of its state (human-readable string).
RETURN VALUES
The SSL_state() function returns SSL status codes.
0x1000Indicates SSL CONNECT state.
0x2000Indicates SSL ACCEPT state.
0x0FFFIndicates SSL MASK state.
0x1000|0x2000
Indicates SSL INIT state.
0x4000Indicates SSL BEFORE state.
0x03Indicates SSL OK state.
(0x04|(0x1000|0x2000))
Indicates SSL RENEGOTIATE state.
The SSL_state_string() and SSL_state_string_long() functions return SSL state strings.
[Return values by SSL_state_string()] | [Return values by SSL_state_string_long()]
PINIT | ""before SSL initialization""
Indicates that the SSL state is before SSL initialization.
AINIT | ""before accept initialization""
Indicates that the SSL state is before accept initialization.
CINIT | ""before connect initialization""
Indicates that the SSL state is before connect initialization.
SSLOK | ""SSL negotiation finished successfully""
Indicates that SSL negotiation finished successfully.
Not Found | ""SSL renegotiate ciphers""
Indicates that SSL is renegotiating ciphers.
Not Found | ""before/connect initialization""
Indicates that the SSL state is before/connect initialization.
Not Found | ""ok/connect SSL initialization""
Indicates ok/connect SSL initialization.
Not Found | ""before/accept initialization""
Indicates that the SSL state is before/accept initialization.
Not Found | ""ok/accept SSL initialization""
Indicates that the SSL state is ok/accept SSL initialization.
2CSENC | ""SSLv2 client start encryption""
Indicates that SSLv2 is client starting encryption.
2SSENC | ""SSLv2 server start encryption""
Indicates that SSLv2 server is starting encryption.
2SCH_A | ""SSLv2 write client hello A""
Indicates that SSLv2 is writing client hello A.
2SCH_B | ""SSLv2 write client hello B""
Indicates that SSLv2 is writing client hello B.
2GSH_A | ""SSLv2 read server hello A""
Indicates that SSLv2 is reading server hello A.
2GSH_B | ""SSLv2 read server hello B""
Indicates that SSLv2 is reading server hello B.
2SCMKA | ""SSLv2 write client master key A""
Indicates that SSLv2 is writing client master key A.
2SCMKB | ""SSLv2 write client master key B""
Indicates that SSLv2 is writing client master key B.
2SCF_A | ""SSLv2 write client finished A""
Indicates that SSLv2 is writing client finished A.
2SCF_B | ""SSLv2 write client finished B""
Indicates that SSLv2 is writing client finished B.
2SCC_A | ""SSLv2 write client certificate A""
Indicates that SSLv2 is writing client certificate A.
2SCC_B | ""SSLv2 write client certificate B""
Indicates that SSLv2 is writing client certificate B.
2SCC_C | ""SSLv2 write client certificate C""
Indicates that SSLv2 is writing client certificate C.
2SCC_D | ""SSLv2 write client certificate D""
Indicates that SSLv2 is writing client certificate D.
2GSV_A | ""SSLv2 read server verify A""
Indicates that SSLv2 is reading server verify A.
2GSV_B | ""SSLv2 read server verify B""
Indicates that SSLv2 is reading server verify B.
2GSF_A | ""SSLv2 read server finished A""
Indicates that SSLv2 is reading server finished A.
2GSF_B | ""SSLv2 read server finished B""
Indicates that SSLv2 is reading server finished B.
2GCH_A | ""SSLv2 read client hello A""
Indicates that SSLv2 is reading client hello A.
2GCH_B | ""SSLv2 read client hello B""
Indicates that SSLv2 is reading client hello B.
2GCH_C | ""SSLv2 read client hello C""
Indicates that SSLv2 is reading client hello C.
2SSH_A | ""SSLv2 write server hello A""
Indicates that SSLv2 is writing server hello A.
2SSH_B | ""SSLv2 write server hello B""
Indicates that SSLv2 is writing server hello B.
2GCMKA | ""SSLv2 read client master key A""
Indicates that SSLv2 is reading client master key A.
2GCMKA | ""SSLv2 read client master key B""
Indicates that SSLv2 is reading client master key B.
2SSV_A | ""SSLv2 write server verify A""
Indicates that SSLv2 is writing server verify A.
2SSV_B | ""SSLv2 write server verify B""
Indicates that SSLv2 is writing server verify B.
2SSV_C | ""SSLv2 write server verify C""
Indicates that SSLv2 is writing server verify C.
2GCF_A | ""SSLv2 read client finished A""
Indicates that SSLv2 is reading client finished A.
2GCF_B | ""SSLv2 read client finished B""
Indicates that SSLv2 is reading client finished B.
2SSF_A | ""SSLv2 write server finished A""
Indicates that SSLv2 is writing server finished A.
2SSF_B | ""SSLv2 write server finished B""
Indicates that SSLv2 is writing server finished B.
2SRC_A | ""SSLv2 write request certificate A""
Indicates that SSLv2 is writing request certificate A.
2SRC_B | ""SSLv2 write request certificate B""
Indicates that SSLv2 is writing request certificate B.
2SRC_C | ""SSLv2 write request certificate C""
Indicates that SSLv2 is writing request certificate C.
2SRC_D | ""SSLv2 write request certificate D""
Indicates that SSLv2 is writing request certificate D.
2X9GSC | ""SSLv2 X509 read server certificate""
Indicates that SSLv2 X509 is reading server certificate.
2X9GCC | ""SSLv2 X509 read client certificate""
Indicates that SSLv2 X509 is reading client certificate.
3FLUSH | ""SSLv3 flush data""
Indicates that SSLv3 is flushing data.
3WCH_A | ""SSLv3 write client hello A""
Indicates that SSLv3 is writing client hello A.
3WCH_B | ""SSLv3 write client hello B""
Indicates that SSLv3 is writing client hello B.
3RSH_A | ""SSLv3 read server hello A""
Indicates that SSLv3 is reading server hello A.
3RSH_B | ""SSLv3 read server hello B""
Indicates that SSLv3 is reading server hello B.
3RSC_A | ""SSLv3 read server certificate A""
Indicates that SSLv3 is reading server certificate A.
3RSC_B | ""SSLv3 read server certificate B""
Indicates that SSLv3 is reading server certificate B.
3RSKEA | ""SSLv3 read server key exchange A""
Indicates that SSLv3 is reading server key exchange A.
3RSKEB | ""SSLv3 read server key exchange B""
Indicates that SSLv3 is reading server key exchange B.
3RCR_A | ""SSLv3 read server certificate request A""
Indicates that SSLv3 is reading server certificate request A.
3RCR_B | ""SSLv3 read server certificate request B""
Indicates that SSLv3 is reading server certificate request B.
3RSD_A | ""SSLv3 read server done A""
Indicates that SSLv3 is reading server done A.
3RSD_B | ""SSLv3 read server done B""
Indicates that SSLv3 is reading server done B.
3WCC_A | ""SSLv3 write client certificate A""
Indicates that SSLv3 is writing client certificate A.
3WCC_B | ""SSLv3 write client certificate B""
Indicates that SSLv3 is writing client certificate B.
3WCC_C | ""SSLv3 write client certificate C""
Indicates that SSLv3 is writing client certificate C.
3WCC_D | ""SSLv3 write client certificate D""
Indicates that SSLv3 is writing client certificate D.
3WCKEA | ""SSLv3 write client key exchange A""
Indicates that SSLv3 is writing client key exchange A.
3WCKEB | ""SSLv3 write client key exchange B""
Indicates that SSLv3 is writing client key exchange B.
3WCV_A | ""SSLv3 write certificate verify A""
Indicates that SSLv3 is writing certificate verify A.
3WCV_B | ""SSLv3 write certificate verify B""
Indicates that SSLv3 is writing certificate verify B.
3WCCSA | ""SSLv3 write change cipher spec A""
Indicates that SSLv3 is writing change cipher spec A.
3WCCSB | ""SSLv3 write change cipher spec B""
Indicates that SSLv3 is writing change cipher spec B.
3WFINA | ""SSLv3 write finished A""
Indicates that SSLv3 is writing finished A.
3WFINB | ""SSLv3 write finished B""
Indicates that SSLv3 is writing finished B.
3RCCSA | ""SSLv3 read change cipher spec A""
Indicates that SSLv3 is reading change cipher spec A.
3RCCSB | ""SSLv3 read change cipher spec B""
Indicates that SSLv3 is reading change cipher spec B.
3RFINA | ""SSLv3 read finished A""
Indicates that SSLv3 is reading finished A.
| ""SSLv3 read finished B""
Indicates that SSLv3 is reading finished B.
3WHR_A | ""SSLv3 write hello request A""
Indicates that SSLv3 is writing hello request A.
3WHR_B | ""SSLv3 write hello request B""
Indicates that SSLv3 is writing hello request B.
3WHR_C | ""SSLv3 write hello request C""
Indicates that SSLv3 is writing hello request C.
3RCH_A | ""SSLv3 read client hello A""
Indicates that SSLv3 is reading client hello A.
3RCH_B | ""SSLv3 read client hello B""
Indicates that SSLv3 is reading client hello B.
3RCH_C | ""SSLv3 read client hello C""
Indicates that SSLv3 is reading client hello C.
3WSH_A | ""SSLv3 write server hello A""
Indicates that SSLv3 is writing server hello A.
3WSH_B | ""SSLv3 write server hello B""
Indicates that SSLv3 is writing server hello B.
3WSC_A | ""SSLv3 write certificate A""
Indicates that SSLv3 is writing certificate A.
3WSC_B | ""SSLv3 write certificate B""
Indicates that SSLv3 is writing certificate B.
3WSKEA | ""SSLv3 write key exchange A""
Indicates that SSLv3 is writing key exchange A.
3WSKEB | ""SSLv3 write key exchange B""
Indicates that SSLv3 is writing key exchange B.
3WCR_A | ""SSLv3 write certificate request A""
Indicates that SSLv3 is writing certificate request A.
3WCR_B | ""SSLv3 write certificate request B""
Indicates that SSLv3 is writing certificate request B.
3WSD_A | ""SSLv3 write server done A""
Indicates that SSLv3 is writing server done A.
3WSD_B | ""SSLv3 write server done B""
Indicates that SSLv3 is writing server done B.
3RCC_A | ""SSLv3 read client certificate A""
Indicates that SSLv3 is reading client certificate A.
3RCC_B | ""SSLv3 read client certificate B""
Indicates that SSLv3 is reading client certificate B.
3RCKEA | ""SSLv3 read client key exchange A""
Indicates that SSLv3 is reading client key exchange A.
3RCKEB | ""SSLv3 read client key exchange B""
Indicates that SSLv3 is reading client key exchange B.
3RCV_A | ""SSLv3 read certificate verify A""
Indicates that SSLv3 is reading certificate verify A.
3RCV_B | ""SSLv3 read certificate verify B""
Indicates that SSLv3 is reading certificate verify B.
23WCHA | ""SSLv2/v3 write client hello A""
Indicates that SSLv2/v3 is writing client hello A.
23WCHB | ""SSLv2/v3 write client hello B""
Indicates that SSLv2/v3 is writing client hello B.
23RSHA | ""SSLv2/v3 read server hello A""
Indicates that SSLv2/v3 is reading server hello A.
23RSHA | ""SSLv2/v3 read server hello B""
Indicates that SSLv2/v3 is reading server hello B.
23RCHA | ""SSLv2/v3 read client hello A""
Indicates that SSLv2/v3 is reading client hello A.
23RCHB | ""SSLv2/v3 read client hello B""
Indicates that SSLv2/v3 is reading client hello B.
UNKWN | ""unknown state""
Indicates that the SSL state is unknown.