remove primary and secondary device separate status
parent
135fc3b366
commit
a0703bc2f9
@ -0,0 +1,49 @@
|
||||
import { KeyPair } from '../../libtextsecure/libsignal-protocol';
|
||||
import { fromHexToArray, toHex } from '../session/utils/String';
|
||||
|
||||
export type HexKeyPair = {
|
||||
publicHex: string;
|
||||
privateHex: string;
|
||||
};
|
||||
|
||||
export class ECKeyPair {
|
||||
public readonly publicKeyData: Uint8Array;
|
||||
public readonly privateKeyData: Uint8Array;
|
||||
|
||||
constructor(publicKeyData: Uint8Array, privateKeyData: Uint8Array) {
|
||||
this.publicKeyData = publicKeyData;
|
||||
this.privateKeyData = privateKeyData;
|
||||
}
|
||||
|
||||
public static fromArrayBuffer(pub: ArrayBuffer, priv: ArrayBuffer) {
|
||||
return new ECKeyPair(new Uint8Array(pub), new Uint8Array(priv));
|
||||
}
|
||||
|
||||
public static fromKeyPair(pair: KeyPair) {
|
||||
return new ECKeyPair(
|
||||
new Uint8Array(pair.pubKey),
|
||||
new Uint8Array(pair.privKey)
|
||||
);
|
||||
}
|
||||
|
||||
public static fromHexKeyPair(pair: HexKeyPair) {
|
||||
return new ECKeyPair(
|
||||
fromHexToArray(pair.publicHex),
|
||||
fromHexToArray(pair.privateHex)
|
||||
);
|
||||
}
|
||||
|
||||
public toString() {
|
||||
const hexKeypair = this.toHexKeyPair();
|
||||
return `ECKeyPair: ${hexKeypair.publicHex} ${hexKeypair.privateHex}`;
|
||||
}
|
||||
|
||||
public toHexKeyPair(): HexKeyPair {
|
||||
const publicHex = toHex(this.publicKeyData);
|
||||
const privateHex = toHex(this.privateKeyData);
|
||||
return {
|
||||
publicHex,
|
||||
privateHex,
|
||||
};
|
||||
}
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
export * from './ClosedGroupV2ChatMessage';
|
||||
export * from './ClosedGroupV2EncryptionPairMessage';
|
||||
export * from './ClosedGroupV2Message';
|
||||
export * from './ClosedGroupV2NewMessage';
|
||||
export * from './ClosedGroupV2UpdateMessage';
|
||||
|
@ -1,5 +1,10 @@
|
||||
export * from './DataMessage';
|
||||
export * from './GroupInvitationMessage';
|
||||
export * from './ChatMessage';
|
||||
export * from './groupv2';
|
||||
export * from './groupv2/ClosedGroupV2Message';
|
||||
export * from './groupv2/ClosedGroupV2ChatMessage';
|
||||
export * from './groupv2/ClosedGroupV2EncryptionPairMessage';
|
||||
export * from './groupv2/ClosedGroupV2NewMessage';
|
||||
export * from './groupv2/ClosedGroupV2UpdateMessage';
|
||||
export * from './groupv2/ClosedGroupV2Message';
|
||||
export * from './ExpirationTimerUpdateMessage';
|
||||
|
Loading…
Reference in New Issue