15 lines
1.1 KiB
TypeScript
15 lines
1.1 KiB
TypeScript
// Fixtura: un client al bibliotecii Signal pentru Node (@signalapp/libsignal-client), 2026-10-18. Ancora e importul pachetului.
|
|
import * as SignalClient from '@signalapp/libsignal-client';
|
|
import { PrivateKey, KEMKeyPair, hkdf, Aes256GcmSiv } from '@signalapp/libsignal-client';
|
|
|
|
export function chei(ikm: Buffer, key: Buffer) {
|
|
const priv = PrivateKey.generate(); // EXPECT: X25519 | quantum-vulnerable
|
|
const id = SignalClient.IdentityKeyPair.generate(); // EXPECT: X25519 | quantum-vulnerable
|
|
const kem = KEMKeyPair.generate(); // EXPECT: Kyber-1024 | quantum-safe
|
|
const okm = hkdf(32, ikm, Buffer.from('info'), null); // EXPECT: HKDF | quantum-safe
|
|
const okm2 = SignalClient.hkdf(32, ikm, Buffer.from('info'), null); // EXPECT: HKDF | quantum-safe
|
|
const siv = Aes256GcmSiv.new(key); // EXPECT: AES-256-GCM-SIV | quantum-safe
|
|
const bundle = SignalClient.PreKeyBundle.new(1, 1, 2, priv.getPublicKey(), 3, priv.getPublicKey(), Buffer.alloc(64), id.publicKey); // EXPECT: libsignal session setup (X3DH/PQXDH) | unknown
|
|
return { priv, id, kem, okm, okm2, siv, bundle };
|
|
}
|