@iotize/tap
Version:
IoTize Device client for Javascript
61 lines (60 loc) • 2.28 kB
TypeScript
import '../generated/converter-stream-extension';
import { AesEcb128Converter } from '@iotize/common/crypto';
import { SinglePacket as SinglePacketModel } from '../generated/models';
import { SinglePacketKeyGenerator } from './definitions';
declare module '@iotize/tap/client/impl/lib/frame/tap-stream-core' {
interface TapStreamReader {
readSinglePacketPayloadFullData(): SinglePacketModel.Payload;
}
}
export declare namespace EncryptedSinglePacketConverter {
interface EncryptionOptions {
hashKey: Uint8Array;
username: string;
serialNumber: string;
}
}
export declare class SinglePacketEncryptionOptionsBuilder {
static fromBlankKey(username: string): {
hashKey: Uint8Array;
serialNumber: string;
username: string;
};
static fromHashKey(hashKey: Uint8Array, username: string): {
hashKey: Uint8Array;
serialNumber: string;
username: string;
};
static fromUserCredentials(credentials: {
username: string;
password: string;
}, options: {
iterationNumber: number;
salt: Uint8Array;
}): {
hashKey: Uint8Array;
serialNumber: string;
username: string;
};
static fromCurrentSessionData(sessionData: {
username: string;
storedKey: Uint8Array;
serverKey: Uint8Array;
}): {
hashKey: Uint8Array;
serialNumber: string;
username: string;
};
}
export declare class EncryptedSinglePacketConverter {
options: EncryptedSinglePacketConverter.EncryptionOptions;
encryptionAlgo: AesEcb128Converter;
keyGenerator: SinglePacketKeyGenerator;
constructor(options: EncryptedSinglePacketConverter.EncryptionOptions, encryptionAlgo?: AesEcb128Converter, keyGenerator?: SinglePacketKeyGenerator);
static createWithBlankKey(): EncryptedSinglePacketConverter;
setEncryptionOptions(options: Partial<EncryptedSinglePacketConverter.EncryptionOptions>): void;
encode(packet: SinglePacketModel): Uint8Array;
decode(packetData: Uint8Array): SinglePacketModel;
_getEncryptionAlgo(header: SinglePacketModel.Header | Uint8Array): AesEcb128Converter;
private computeKey;
}