Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Typedefs | Enumerations
ssl3prot.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SSL3Plaintext
struct  SSL3Compressed
struct  SSL3GenericStreamCipher
struct  SSL3GenericBlockCipher
struct  SSL3ChangeCipherSpec
struct  SSL3Alert
struct  SSL3HelloRequest
struct  SSL3Random
struct  SSL3SessionID
struct  SSL3ClientHello
struct  SSL3ServerHello
struct  SSL3Certificate
struct  SSL3ServerRSAParams
struct  SSL3ServerDHParams
struct  SSL3ServerParams
struct  SSL3Hashes
struct  SSL3ServerKeyExchange
struct  SSL3RSAPreMasterSecret
struct  SSL3ClientDiffieHellmanPublic
struct  SSL3ClientKeyExchange
struct  TLSFinished
union  SSL3ServerParams.u
union  SSL3ServerKeyExchange.u
union  SSL3ClientDiffieHellmanPublic.dh_public
union  SSL3ClientKeyExchange.exchange_keys

Defines

#define MAX_CERT_TYPES   10
#define MAX_COMPRESSION_METHODS   10
#define MAX_MAC_LENGTH   64
#define MAX_PADDING_LENGTH   64
#define MAX_KEY_LENGTH   64
#define EXPORT_KEY_LENGTH   5
#define SSL3_RANDOM_LENGTH   32
#define SSL3_RECORD_HEADER_LENGTH   5
#define MAX_FRAGMENT_LENGTH   16384

Typedefs

typedef uint8 SSL3Opaque
typedef uint16 SSL3ProtocolVersion
typedef uint16 ssl3CipherSuite
typedef SECItem * SSL3DistinquishedName
typedef SECItem SSL3EncryptedPreMasterSecret
typedef SSL3Opaque SSL3MasterSecret [48]
typedef SSL3Hashes SSL3PreSignedCertificateVerify
typedef SECItem SSL3CertificateVerify
typedef SSL3Hashes SSL3Finished

Enumerations

enum  SSL3ContentType {
  content_change_cipher_spec = 20, content_alert = 21, content_handshake = 22, content_application_data = 23,
  content_change_cipher_spec = 20, content_alert = 21, content_handshake = 22, content_application_data = 23
}
enum  SSL3ChangeCipherSpecChoice { change_cipher_spec_choice = 1, change_cipher_spec_choice = 1 }
enum  SSL3AlertLevel { alert_warning = 1, alert_fatal = 2, alert_warning = 1, alert_fatal = 2 }
enum  SSL3AlertDescription {
  close_notify = 0, unexpected_message = 10, bad_record_mac = 20, decryption_failed = 21,
  record_overflow = 22, decompression_failure = 30, handshake_failure = 40, no_certificate = 41,
  bad_certificate = 42, unsupported_certificate = 43, certificate_revoked = 44, certificate_expired = 45,
  certificate_unknown = 46, illegal_parameter = 47, unknown_ca = 48, access_denied = 49,
  decode_error = 50, decrypt_error = 51, export_restriction = 60, protocol_version = 70,
  insufficient_security = 71, internal_error = 80, user_canceled = 90, no_renegotiation = 100,
  unsupported_extension = 110, certificate_unobtainable = 111, unrecognized_name = 112, bad_certificate_status_response = 113,
  bad_certificate_hash_value = 114, close_notify = 0, unexpected_message = 10, bad_record_mac = 20,
  decryption_failed = 21, record_overflow = 22, decompression_failure = 30, handshake_failure = 40,
  no_certificate = 41, bad_certificate = 42, unsupported_certificate = 43, certificate_revoked = 44,
  certificate_expired = 45, certificate_unknown = 46, illegal_parameter = 47, unknown_ca = 48,
  access_denied = 49, decode_error = 50, decrypt_error = 51, export_restriction = 60,
  protocol_version = 70, insufficient_security = 71, internal_error = 80, user_canceled = 90,
  no_renegotiation = 100, unsupported_extension = 110, certificate_unobtainable = 111, unrecognized_name = 112,
  bad_certificate_status_response = 113, bad_certificate_hash_value = 114
}
enum  SSL3HandshakeType {
  hello_request = 0, client_hello = 1, server_hello = 2, certificate = 11,
  server_key_exchange = 12, certificate_request = 13, server_hello_done = 14, certificate_verify = 15,
  client_key_exchange = 16, finished = 20, hello_request = 0, client_hello = 1,
  server_hello = 2, certificate = 11, server_key_exchange = 12, certificate_request = 13,
  server_hello_done = 14, certificate_verify = 15, client_key_exchange = 16, finished = 20
}
enum  SSL3CompressionMethod { compression_null = 0, compression_null = 0 }
enum  SSL3KeyExchangeAlgorithm {
  kea_null, kea_rsa, kea_rsa_export, kea_rsa_export_1024,
  kea_dh_dss, kea_dh_dss_export, kea_dh_rsa, kea_dh_rsa_export,
  kea_dhe_dss, kea_dhe_dss_export, kea_dhe_rsa, kea_dhe_rsa_export,
  kea_dh_anon, kea_dh_anon_export, kea_rsa_fips, kea_ecdh_ecdsa,
  kea_ecdhe_ecdsa, kea_ecdh_rsa, kea_ecdhe_rsa, kea_ecdh_anon,
  kea_null, kea_rsa, kea_rsa_export, kea_rsa_export_1024,
  kea_dh_dss, kea_dh_dss_export, kea_dh_rsa, kea_dh_rsa_export,
  kea_dhe_dss, kea_dhe_dss_export, kea_dhe_rsa, kea_dhe_rsa_export,
  kea_dh_anon, kea_dh_anon_export, kea_rsa_fips, kea_ecdh_ecdsa,
  kea_ecdhe_ecdsa, kea_ecdh_rsa, kea_ecdhe_rsa, kea_ecdh_anon
}
enum  SSL3ClientCertificateType {
  ct_RSA_sign = 1, ct_DSS_sign = 2, ct_RSA_fixed_DH = 3, ct_DSS_fixed_DH = 4,
  ct_RSA_ephemeral_DH = 5, ct_DSS_ephemeral_DH = 6, ct_ECDSA_sign = 64, ct_RSA_fixed_ECDH = 65,
  ct_ECDSA_fixed_ECDH = 66, ct_RSA_sign = 1, ct_DSS_sign = 2, ct_RSA_fixed_DH = 3,
  ct_DSS_fixed_DH = 4, ct_RSA_ephemeral_DH = 5, ct_DSS_ephemeral_DH = 6, ct_ECDSA_sign = 64,
  ct_RSA_fixed_ECDH = 65, ct_ECDSA_fixed_ECDH = 66
}
enum  SSL3PublicValueEncoding { implicit, explicit, implicit, explicit }
enum  SSL3Sender { sender_client = 0x434c4e54, sender_server = 0x53525652, sender_client = 0x434c4e54, sender_server = 0x53525652 }

Class Documentation

struct SSL3Plaintext

Definition at line 73 of file ssl3prot.h.

Class Members
SECItem fragment
uint16 length
SSL3ContentType type
SSL3ProtocolVersion version
struct SSL3Compressed

Definition at line 80 of file ssl3prot.h.

Class Members
SECItem fragment
uint16 length
SSL3ContentType type
SSL3ProtocolVersion version
struct SSL3GenericStreamCipher

Definition at line 87 of file ssl3prot.h.

Class Members
SECItem content
SSL3Opaque MAC
struct SSL3GenericBlockCipher

Definition at line 92 of file ssl3prot.h.

Class Members
SECItem content
SSL3Opaque MAC
uint8 padding
uint8 padding_length
struct SSL3ChangeCipherSpec

Definition at line 101 of file ssl3prot.h.

Class Members
SSL3ChangeCipherSpecChoice choice
struct SSL3Alert

Definition at line 144 of file ssl3prot.h.

Class Members
SSL3AlertDescription description
SSL3AlertLevel level
struct SSL3HelloRequest

Definition at line 162 of file ssl3prot.h.

Class Members
uint8 empty
struct SSL3Random

Definition at line 166 of file ssl3prot.h.

Class Members
SSL3Opaque rand
struct SSL3SessionID

Definition at line 170 of file ssl3prot.h.

Class Members
SSL3Opaque id
uint8 length
struct SSL3ClientHello

Definition at line 177 of file ssl3prot.h.

Collaboration diagram for SSL3ClientHello:
Class Members
SECItem cipher_suites
SSL3ProtocolVersion client_version
uint8 cm_count
SSL3CompressionMethod compression_methods
SSL3Random random
SSL3SessionID session_id
struct SSL3ServerHello

Definition at line 186 of file ssl3prot.h.

Collaboration diagram for SSL3ServerHello:
Class Members
ssl3CipherSuite cipher_suite
SSL3CompressionMethod compression_method
SSL3Random random
SSL3ProtocolVersion server_version
SSL3SessionID session_id
struct SSL3Certificate

Definition at line 194 of file ssl3prot.h.

Class Members
SECItem list
struct SSL3ServerRSAParams

Definition at line 224 of file ssl3prot.h.

Class Members
SECItem exponent
SECItem modulus
struct SSL3ServerDHParams

Definition at line 229 of file ssl3prot.h.

Class Members
SECItem g
SECItem p
SECItem Ys
struct SSL3ServerParams

Definition at line 235 of file ssl3prot.h.

Class Members
union SSL3ServerParams u
union SSL3ServerParams u
struct SSL3Hashes

Definition at line 242 of file ssl3prot.h.

Class Members
uint8 md5
uint8 sha
struct SSL3ServerKeyExchange

Definition at line 247 of file ssl3prot.h.

Class Members
union SSL3ServerKeyExchange u
union SSL3ServerKeyExchange u
struct SSL3RSAPreMasterSecret

Definition at line 269 of file ssl3prot.h.

Class Members
SSL3Opaque client_version
SSL3Opaque random
struct SSL3ClientDiffieHellmanPublic

Definition at line 281 of file ssl3prot.h.

Class Members
union SSL3ClientDiffieHellmanPublic dh_public
union SSL3ClientDiffieHellmanPublic dh_public
struct SSL3ClientKeyExchange

Definition at line 288 of file ssl3prot.h.

Class Members
union SSL3ClientKeyExchange exchange_keys
union SSL3ClientKeyExchange exchange_keys
struct TLSFinished

Definition at line 306 of file ssl3prot.h.

Class Members
SSL3Opaque verify_data
union SSL3ServerParams.u

Definition at line 236 of file ssl3prot.h.

Class Members
SSL3ServerDHParams dh
SSL3ServerRSAParams rsa
union SSL3ServerKeyExchange.u

Definition at line 248 of file ssl3prot.h.

Class Members
SSL3Opaque anonymous
SSL3Hashes certified
union SSL3ClientDiffieHellmanPublic.dh_public

Definition at line 282 of file ssl3prot.h.

Class Members
SECItem explicit
SSL3Opaque implicit
union SSL3ClientKeyExchange.exchange_keys

Definition at line 289 of file ssl3prot.h.

Class Members
SSL3ClientDiffieHellmanPublic diffie_helman
SSL3EncryptedPreMasterSecret rsa

Define Documentation

Definition at line 59 of file ssl3prot.h.

Definition at line 54 of file ssl3prot.h.

Definition at line 55 of file ssl3prot.h.

Definition at line 64 of file ssl3prot.h.

Definition at line 58 of file ssl3prot.h.

Definition at line 56 of file ssl3prot.h.

Definition at line 57 of file ssl3prot.h.

Definition at line 60 of file ssl3prot.h.

Definition at line 62 of file ssl3prot.h.


Typedef Documentation

typedef SECItem SSL3CertificateVerify

Definition at line 297 of file ssl3prot.h.

Definition at line 51 of file ssl3prot.h.

typedef SECItem* SSL3DistinquishedName

Definition at line 267 of file ssl3prot.h.

Definition at line 274 of file ssl3prot.h.

Definition at line 304 of file ssl3prot.h.

Definition at line 277 of file ssl3prot.h.

typedef uint8 SSL3Opaque

Definition at line 46 of file ssl3prot.h.

Definition at line 295 of file ssl3prot.h.

Definition at line 48 of file ssl3prot.h.


Enumeration Type Documentation

Enumerator:
close_notify 
unexpected_message 
bad_record_mac 
decryption_failed 
record_overflow 
decompression_failure 
handshake_failure 
no_certificate 
bad_certificate 
unsupported_certificate 
certificate_revoked 
certificate_expired 
certificate_unknown 
illegal_parameter 
unknown_ca 
access_denied 
decode_error 
decrypt_error 
export_restriction 
protocol_version 
insufficient_security 
internal_error 
user_canceled 
no_renegotiation 
unsupported_extension 
certificate_unobtainable 
unrecognized_name 
bad_certificate_status_response 
bad_certificate_hash_value 
close_notify 
unexpected_message 
bad_record_mac 
decryption_failed 
record_overflow 
decompression_failure 
handshake_failure 
no_certificate 
bad_certificate 
unsupported_certificate 
certificate_revoked 
certificate_expired 
certificate_unknown 
illegal_parameter 
unknown_ca 
access_denied 
decode_error 
decrypt_error 
export_restriction 
protocol_version 
insufficient_security 
internal_error 
user_canceled 
no_renegotiation 
unsupported_extension 
certificate_unobtainable 
unrecognized_name 
bad_certificate_status_response 
bad_certificate_hash_value 

Definition at line 107 of file ssl3prot.h.

Enumerator:
alert_warning 
alert_fatal 
alert_warning 
alert_fatal 

Definition at line 105 of file ssl3prot.h.

Enumerator:
change_cipher_spec_choice 
change_cipher_spec_choice 

Definition at line 99 of file ssl3prot.h.

Enumerator:
ct_RSA_sign 
ct_DSS_sign 
ct_RSA_fixed_DH 
ct_DSS_fixed_DH 
ct_RSA_ephemeral_DH 
ct_DSS_ephemeral_DH 
ct_ECDSA_sign 
ct_RSA_fixed_ECDH 
ct_ECDSA_fixed_ECDH 
ct_RSA_sign 
ct_DSS_sign 
ct_RSA_fixed_DH 
ct_DSS_fixed_DH 
ct_RSA_ephemeral_DH 
ct_DSS_ephemeral_DH 
ct_ECDSA_sign 
ct_RSA_fixed_ECDH 
ct_ECDSA_fixed_ECDH 

Definition at line 254 of file ssl3prot.h.

Enumerator:
compression_null 
compression_null 

Definition at line 175 of file ssl3prot.h.

Enumerator:
content_change_cipher_spec 
content_alert 
content_handshake 
content_application_data 
content_change_cipher_spec 
content_alert 
content_handshake 
content_application_data 

Definition at line 66 of file ssl3prot.h.

Enumerator:
hello_request 
client_hello 
server_hello 
certificate 
server_key_exchange 
certificate_request 
server_hello_done 
certificate_verify 
client_key_exchange 
finished 
hello_request 
client_hello 
server_hello 
certificate 
server_key_exchange 
certificate_request 
server_hello_done 
certificate_verify 
client_key_exchange 
finished 

Definition at line 149 of file ssl3prot.h.

Enumerator:
kea_null 
kea_rsa 
kea_rsa_export 
kea_rsa_export_1024 
kea_dh_dss 
kea_dh_dss_export 
kea_dh_rsa 
kea_dh_rsa_export 
kea_dhe_dss 
kea_dhe_dss_export 
kea_dhe_rsa 
kea_dhe_rsa_export 
kea_dh_anon 
kea_dh_anon_export 
kea_rsa_fips 
kea_ecdh_ecdsa 
kea_ecdhe_ecdsa 
kea_ecdh_rsa 
kea_ecdhe_rsa 
kea_ecdh_anon 
kea_null 
kea_rsa 
kea_rsa_export 
kea_rsa_export_1024 
kea_dh_dss 
kea_dh_dss_export 
kea_dh_rsa 
kea_dh_rsa_export 
kea_dhe_dss 
kea_dhe_dss_export 
kea_dhe_rsa 
kea_dhe_rsa_export 
kea_dh_anon 
kea_dh_anon_export 
kea_rsa_fips 
kea_ecdh_ecdsa 
kea_ecdhe_ecdsa 
kea_ecdh_rsa 
kea_ecdhe_rsa 
kea_ecdh_anon 

Definition at line 201 of file ssl3prot.h.

Enumerator:
implicit 
explicit 
implicit 
explicit 

Definition at line 279 of file ssl3prot.h.

enum SSL3Sender
Enumerator:
sender_client 
sender_server 
sender_client 
sender_server 

Definition at line 299 of file ssl3prot.h.

             {
    sender_client = 0x434c4e54,
    sender_server = 0x53525652
} SSL3Sender;