Members
(constant) AES_128_CBC_SHA :buffer
cipher suite
Type:
- buffer
(constant) AlertDescription :number
alert description
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) AlertLevel :number
tls alert level
Type:
- number
Properties:
Name | Type | Description |
---|---|---|
WARNING |
number | |
FATAL |
number |
(constant) ContentType :number
tls record content type
Type:
- number
Properties:
Name | Type | Description |
---|---|---|
CHANGE_CIPHER_SPEC |
number | |
ALERT |
number | |
HANDSHAKE |
number | |
APPLICATION_DATA |
number |
(constant) HandshakeType :number
- handshake message 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
alertDescription(alert) → {string}
Parameters:
Name | Type | Description |
---|---|---|
alert |
number | description |
Returns:
alert description name
- Type
- string
alertLevel(alert) → {string}
Parameters:
Name | Type | Description |
---|---|---|
alert |
number | level |
Returns:
alert level name
- Type
- string
contentType(content) → {string}
Parameters:
Name | Type | Description |
---|---|---|
content |
number | type |
Returns:
content type name
- Type
- string
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:
handshakeType(handshake) → {string}
Parameters:
Name | Type | Description |
---|---|---|
handshake |
number | message type |
Returns:
handshake message type name
- Type
- string
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()
K combinator is a higher-order function which accepts two
expressions x
and y
. It evalutes x
then y
and
returns x
finally. It is helpful for compact code.
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 see rfc5246
Parameters:
Name | Type | Description |
---|---|---|
secret |
buffer | |
label |
string | |
seed |
buffer | |
length |
number |
Returns:
buffer of given length
- Type
- buffer
readUInt24(buf) → {number}
reads a 24bit unsigned integer 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
Type Definitions
CipherFunction({, data) → {buffer}
A cipher function encrypts a tls record.
Parameters:
Name | Type | Description |
---|---|---|
{ |
type - tls record type |
|
data |
buffer | tls record data (payload) |
Returns:
encrypted tls record
- Type
- buffer
DecipherFunction({, data) → {buffer}
A decipher function decrypts a tls record. This function does NOT throw TLSError. The caller is resposible for translating the thrown error to TLSError.
Parameters:
Name | Type | Description |
---|---|---|
{ |
type - tls record type |
|
data |
buffer | encrypted tls record data |
Returns:
decrypted data (payload), mac verified and stripped
- Type
- buffer
Fragment
Type:
- object
Properties:
Name | Type | Description |
---|---|---|
type |
number | content type |
data |
Buffer | fragment data |
Message
Type:
- object
Properties:
Name | Type | Description |
---|---|---|
type |
number | content type |
data |
Buffer | message data (no fragment) |
SequenceNumberFunction() → {buffer}
A sequence number function returns sequence number starting from 0
Returns:
- Type
- buffer