Members
(constant) AES_128_CBC_SHA :buffer
cipher suite
Type:
- buffer
(constant) AlertDescription :number
alert description (warning or error)
Type:
- number
Properties:
Name | Type | Description |
---|---|---|
CLOSE_NOTIFY |
number | |
UNEXPECTED_MESSAGE |
number | |
BAD_RECORD_MAC |
number | |
DECRYPTION_FAILED_RESERVED |
number | |
RECORD_OVERFLOW |
number | |
DECOMPRESSION_FAILURE |
number | |
HANDSHAKE_FAILURE |
number | |
NO_CERTIFICATE_RESERVED |
number | |
BAD_CERTIFICATE |
number | |
UNSUPPORTED_CERTIFICATE |
number | |
CERTIFICATE_REVOKED |
number | |
CERTIFICATE_EXPIRED |
number | |
CERTIFICATE_UNKNOWN |
number | |
ILLEGAL_PARAMETER |
number | |
UNKNOWN_CA |
number | |
ACCESS_DENIED |
number | |
DECODE_ERROR |
number | |
DECRYPT_ERROR |
number | |
EXPORT_RESTRICTION_RESERVED |
number | |
PROTOCOL_VERSION |
number | |
INSUFFICIENT_SECURITY |
number | |
INTERNAL_ERROR |
number | |
USER_CANCELED |
number | |
NO_RENEGOTIATION |
number | |
UNSUPPORTED_EXTENSION |
number |
(constant) ContentType :number
content type for TLS record layer
Type:
- number
Properties:
Name | Type | Description |
---|---|---|
CHANGE_CIPHER_SPEC |
number | |
ALERT |
number | |
HANDSHAKE |
number | |
APPLICATION_DATA |
number |
(constant) HandshakeType :number
handshake record type
Type:
- number
Properties:
Name | Type | Description |
---|---|---|
HELLO_REQUEST |
number | |
CLIENT_HELLO |
number | |
SERVER_HELLO |
number | |
CERTIFICATE |
number | |
SERVER_KEY_EXCHANGE |
number | |
CERTIFICATE_REQUEST |
number | |
SERVER_HELLO_DONE |
number | |
CERTIFICATE_VERIFY |
number | |
CLIENT_KEY_EXCHANGE |
number | |
FINISHED |
number |
(constant) RSA_PKCS1_PADDING :number
for public key encryption padding
Type:
- number
(constant) RSA_PKCS1_SHA256 :buffer
signature algorithm
Type:
- buffer
(constant) VER12 :buffer
TLS version 1.2
Type:
- buffer
Methods
createCipher(key, macKey, _iv) → {CipherFunction}
This is a (higher-order) factory function to generate a cipher function,
which maintains sequence number internally.
Parameters:
Name | Type | Description |
---|---|---|
key |
buffer | encryption key |
macKey |
buffer | hmac key |
_iv |
bigint | initial iv |
Returns:
- Type
- CipherFunction
createDecipher(key, macKey) → {DecipherFunction}
This is a higher order factory funtion to generate a decipher function,
which maintains sequence number internally.
Parameters:
Name | Type | Description |
---|---|---|
key |
buffer | decryption key |
macKey |
buffer | hmac key |
Returns:
- Type
- DecipherFunction
createSequenceNumber() → {SequenceNumberFunction}
create a sequence number function
Returns:
HMAC1(key, data) → {buffer}
calculates sha1 hmac
Parameters:
Name | Type | Description |
---|---|---|
key |
buffer | mac key |
data |
buffer |
Returns:
- Type
- buffer
HMAC256(key, data) → {buffer}
calculates sha256 hmac
Parameters:
Name | Type | Description |
---|---|---|
key |
buffer | mac key |
data |
buffer |
Returns:
- Type
- buffer
K()
Prepend8(b) → {buffer}
prepends 1-byte length to given buffer
Parameters:
Name | Type | Description |
---|---|---|
b |
buffer |
Returns:
- Type
- buffer
Prepend16(b) → {buffer}
prepends 2-byte length to given buffer
Parameters:
Name | Type | Description |
---|---|---|
b |
buffer |
Returns:
- Type
- buffer
Prepend24(b) → {buffer}
prepends 3-byte length to given buffer
Parameters:
Name | Type | Description |
---|---|---|
b |
buffer |
Returns:
- Type
- buffer
PRF256(secret, label, seed, length) → {buffer}
pseudo random function for key generation and expansion
Parameters:
Name | Type | Description |
---|---|---|
secret |
buffer | |
label |
string | text |
seed |
buffer | |
length |
number |
Returns:
buffer of given length
- Type
- buffer
randomBuffer(size) → {buffer}
generates a buffer with given size and filled with random bytes
Parameters:
Name | Type | Description |
---|---|---|
size |
number |
Returns:
- Type
- buffer
readUInt24(buf) → {number}
reads a uint24 number from the first 3-byte of a buffer
Parameters:
Name | Type | Description |
---|---|---|
buf |
buffer |
Returns:
- Type
- number
SHA256(data) → {buffer}
calculates sha256 digest
Parameters:
Name | Type | Description |
---|---|---|
data |
buffer |
Returns:
- Type
- buffer
UInt8(i) → {buffer}
convert a uint8 number to a 1-byte buffer
Parameters:
Name | Type | Description |
---|---|---|
i |
number |
Returns:
- Type
- buffer
UInt16(i) → {buffer}
convert a uint16 number to a 2-byte buffer
Parameters:
Name | Type | Description |
---|---|---|
i |
number |
Returns:
- Type
- buffer
UInt24(i) → {buffer}
converts a uint24 number to a 3-byte buffer
Parameters:
Name | Type | Description |
---|---|---|
i |
number |
Returns:
- Type
- buffer
Type Definitions
CipherFunction(type, data) → {buffer}
A cipher function encrypts a tls record.
Parameters:
Name | Type | Description |
---|---|---|
type |
ContentType | tls record type |
data |
buffer | tls record data (payload) |
Returns:
encrypted tls record
- Type
- buffer
DecipherFunction(type, data) → {buffer}
A decipher function decrypts a tls record.
Parameters:
Name | Type | Description |
---|---|---|
type |
ContentType | tls record type |
data |
buffer | encrypted tls record data |
Returns:
decrypted data (payload), mac verified and stripped
- Type
- buffer
SequenceNumberFunction() → {buffer}
A sequence number function returns sequence number starting from 0
Returns:
- Type
- buffer