Global

Members

(constant) AES_128_CBC_SHA :buffer

cipher suite
Type:
  • buffer
Source:

(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
Source:

(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
Source:

(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
Source:

(constant) RSA_PKCS1_PADDING :number

for public key encryption padding
Type:
  • number
Source:

(constant) RSA_PKCS1_SHA256 :buffer

signature algorithm
Type:
  • buffer
Source:

(constant) VER12 :buffer

TLS version 1.2
Type:
  • buffer
Source:

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
Source:
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
Source:
Returns:
Type
DecipherFunction

createSequenceNumber() → {SequenceNumberFunction}

create a sequence number function
Source:
Returns:
Type
SequenceNumberFunction

HMAC1(key, data) → {buffer}

calculates sha1 hmac
Parameters:
Name Type Description
key buffer mac key
data buffer
Source:
Returns:
Type
buffer

HMAC256(key, data) → {buffer}

calculates sha256 hmac
Parameters:
Name Type Description
key buffer mac key
data buffer
Source:
Returns:
Type
buffer

K()

Source:

Prepend8(b) → {buffer}

prepends 1-byte length to given buffer
Parameters:
Name Type Description
b buffer
Source:
Returns:
Type
buffer

Prepend16(b) → {buffer}

prepends 2-byte length to given buffer
Parameters:
Name Type Description
b buffer
Source:
Returns:
Type
buffer

Prepend24(b) → {buffer}

prepends 3-byte length to given buffer
Parameters:
Name Type Description
b buffer
Source:
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
Source:
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
Source:
Returns:
Type
buffer

readUInt24(buf) → {number}

reads a uint24 number from the first 3-byte of a buffer
Parameters:
Name Type Description
buf buffer
Source:
Returns:
Type
number

SHA256(data) → {buffer}

calculates sha256 digest
Parameters:
Name Type Description
data buffer
Source:
Returns:
Type
buffer

UInt8(i) → {buffer}

convert a uint8 number to a 1-byte buffer
Parameters:
Name Type Description
i number
Source:
Returns:
Type
buffer

UInt16(i) → {buffer}

convert a uint16 number to a 2-byte buffer
Parameters:
Name Type Description
i number
Source:
Returns:
Type
buffer

UInt24(i) → {buffer}

converts a uint24 number to a 3-byte buffer
Parameters:
Name Type Description
i number
Source:
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)
Source:
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
Source:
Returns:
decrypted data (payload), mac verified and stripped
Type
buffer

SequenceNumberFunction() → {buffer}

A sequence number function returns sequence number starting from 0
Source:
Returns:
Type
buffer