Home Reference Source Test

Function

Static Public Summary
public

createCascadedData(data: *): *

public

createDecryptionCascade(objectPattern: {"keys": *, "encrypted": *}): *

public

createEncryptedMessage(suite: *, keyType: *, message: *, options: {}): *

public

async createEncryptionCascade(objectPattern: {"keys": *, "procedure": *}): *

public

createKeyId(keyId: *): *

public

createKeyIdList(keyIds: *): *

public

createRawEncryptedMessage(data: *, keyId: *, params: *): *

public

createRawSignature(sig: *, keyId: *): *

public

createSignature(suite: *, keyType: *, signatures: *, options: {}): *

public

async decrypt(data: *, keys: *): Promise<*>

Decrypt given message and additionally verify attached signatures simultaneously.

public

async encrypt(message: *, keys: *, config: *): Promise<{success: boolean, status: string, data: any}>

Basic encryption API that enables signing simultaneously with encrypting message.

public

async fromJscuKey(keyObject: *, len: *): Promise<KeyId>

Calculate key Id from jwk-formatted key Key id is defined as jwk public key thumbprint (NOTE: not private key thumbprint) see the spec here => https://tools.ietf.org/html/rfc7638

public

async fromRawKey(bin: *, len: *): Promise<KeyId>

Just a hash of raw binary key

public

async generateKey(keyParams: *): Promise<*>

Generate key (pair).

public

async generateKeyObject(keyParams: *): Promise<*>

Basic key generator via jscu APIs.

public

getJscu(): *

utils.js

public

importCascadedBuffer(serialized: *): *

public

importEncryptedBuffer(serialized: *): *

public

async importKeys(format: *, keys: *, suite: *, mode: *): Promise<Keys>

Functions to import keys and translate them to suite-specific key objects.

public

importMessage(msg: *): Message

import message and translate it to message object.

public
public

importSignatureBuffer(serialized: *): *

public

async sign(message: *, keys: *, config: *): Promise<*>

Returns the signature objects.

public

async verify(message: *, signature: *, keys: *): Promise<*>

Returns verification result

Static Public

public createCascadedData(data: *): * source

import {createCascadedData} from 'crypto-cascade/src/cascaded_data.js'

Params:

NameTypeAttributeDescription
data *

Return:

*

public createDecryptionCascade(objectPattern: {"keys": *, "encrypted": *}): * source

import {createDecryptionCascade} from 'crypto-cascade/src/cascade.js'

Params:

NameTypeAttributeDescription
objectPattern {"keys": *, "encrypted": *}
  • default: {"keys":null,"encrypted":null}

Return:

*

public createEncryptedMessage(suite: *, keyType: *, message: *, options: {}): * source

import {createEncryptedMessage} from 'crypto-cascade/src/encrypted_message.js'

Params:

NameTypeAttributeDescription
suite *
keyType *
message *
options {}
  • optional
  • default: {}

Return:

*

public async createEncryptionCascade(objectPattern: {"keys": *, "procedure": *}): * source

import {createEncryptionCascade} from 'crypto-cascade/src/cascade.js'

Params:

NameTypeAttributeDescription
objectPattern {"keys": *, "procedure": *}
  • default: {"keys":null,"procedure":null}

Return:

*

public createKeyId(keyId: *): * source

import {createKeyId} from 'crypto-cascade/src/keyid.js'

Params:

NameTypeAttributeDescription
keyId *

Return:

*

public createKeyIdList(keyIds: *): * source

import {createKeyIdList} from 'crypto-cascade/src/keyid.js'

Params:

NameTypeAttributeDescription
keyIds *

Return:

*

public createRawEncryptedMessage(data: *, keyId: *, params: *): * source

import {createRawEncryptedMessage} from 'crypto-cascade/src/encrypted_message.js'

Params:

NameTypeAttributeDescription
data *
keyId *
params *

Return:

*

public createRawSignature(sig: *, keyId: *): * source

import {createRawSignature} from 'crypto-cascade/src/signature.js'

Params:

NameTypeAttributeDescription
sig *
keyId *

Return:

*

public createSignature(suite: *, keyType: *, signatures: *, options: {}): * source

import {createSignature} from 'crypto-cascade/src/signature.js'

Params:

NameTypeAttributeDescription
suite *
keyType *
signatures *
options {}
  • optional
  • default: {}

Return:

*

public async decrypt(data: *, keys: *): Promise<*> source

import {decrypt} from 'crypto-cascade/src/core.js'

Decrypt given message and additionally verify attached signatures simultaneously.

Params:

NameTypeAttributeDescription
data *
keys *

Return:

Promise<*>

public async encrypt(message: *, keys: *, config: *): Promise<{success: boolean, status: string, data: any}> source

import {encrypt} from 'crypto-cascade/src/core.js'

Basic encryption API that enables signing simultaneously with encrypting message.

Params:

NameTypeAttributeDescription
message *
keys *
config *

Return:

Promise<{success: boolean, status: string, data: any}>

public async fromJscuKey(keyObject: *, len: *): Promise<KeyId> source

import {fromJscuKey} from 'crypto-cascade/src/keyid.js'

Calculate key Id from jwk-formatted key Key id is defined as jwk public key thumbprint (NOTE: not private key thumbprint) see the spec here => https://tools.ietf.org/html/rfc7638

Params:

NameTypeAttributeDescription
keyObject *
len *

Return:

Promise<KeyId>

public async fromRawKey(bin: *, len: *): Promise<KeyId> source

import {fromRawKey} from 'crypto-cascade/src/keyid.js'

Just a hash of raw binary key

Params:

NameTypeAttributeDescription
bin *
len *

Return:

Promise<KeyId>

public async generateKey(keyParams: *): Promise<*> source

import {generateKey} from 'crypto-cascade/src/core.js'

Generate key (pair). This API must be called externally.

Params:

NameTypeAttributeDescription
keyParams *

{object}: a parameter to generate keys in the form of like Simple Crypto Suite using WebCryptoAPI/OpenSSL: { suite: 'jscu', passphrase: 'omg', keyParams: {type: 'ECC', curve} } }

Return:

Promise<*>

public async generateKeyObject(keyParams: *): Promise<*> source

import {generateKeyObject} from 'crypto-cascade/src/keys.js'

Basic key generator via jscu APIs. Returns raw objects of keys in both environments from the spec with some additional args.

Params:

NameTypeAttributeDescription
keyParams *

Return:

Promise<*>

public getJscu(): * source

import {getJscu} from 'crypto-cascade/src/util.js'

utils.js

Return:

*

public importCascadedBuffer(serialized: *): * source

import {importCascadedBuffer} from 'crypto-cascade/src/cascaded_data.js'

Params:

NameTypeAttributeDescription
serialized *

Return:

*

public importEncryptedBuffer(serialized: *): * source

import {importEncryptedBuffer} from 'crypto-cascade/src/encrypted_message.js'

Params:

NameTypeAttributeDescription
serialized *

Return:

*

public async importKeys(format: *, keys: *, suite: *, mode: *): Promise<Keys> source

import {importKeys} from 'crypto-cascade/src/keys.js'

Functions to import keys and translate them to suite-specific key objects.

Params:

NameTypeAttributeDescription
format *
keys *
suite *
mode *

Return:

Promise<Keys>

public importMessage(msg: *): Message source

import {importMessage} from 'crypto-cascade/src/message.js'

import message and translate it to message object.

Params:

NameTypeAttributeDescription
msg *

Return:

Message

public importRawEncryptedBufferList(array: *): * source

import {importRawEncryptedBufferList} from 'crypto-cascade/src/encrypted_message.js'

Params:

NameTypeAttributeDescription
array *

Return:

*

public importSignatureBuffer(serialized: *): * source

import {importSignatureBuffer} from 'crypto-cascade/src/signature.js'

Params:

NameTypeAttributeDescription
serialized *

Return:

*

public async sign(message: *, keys: *, config: *): Promise<*> source

import {sign} from 'crypto-cascade/src/core.js'

Returns the signature objects.

Params:

NameTypeAttributeDescription
message *
keys *
config *

Return:

Promise<*>

public async verify(message: *, signature: *, keys: *): Promise<*> source

import {verify} from 'crypto-cascade/src/core.js'

Returns verification result

Params:

NameTypeAttributeDescription
message *
signature *
keys *

Return:

Promise<*>