28 lines
1.8 KiB
Java
28 lines
1.8 KiB
Java
// Fixtura: API-ul Java/Android al libsignal (org.signal.libsignal), 2026-10-18. Fisierul nu se compileaza; e doar text pentru scaner.
|
|
// Ancora e importul org.signal.libsignal.*; fara el, numele scurte (ECKeyPair, HKDF, Aes256GcmSiv) nu inseamna libsignal.
|
|
package fixturi;
|
|
|
|
import org.signal.libsignal.protocol.IdentityKeyPair;
|
|
import org.signal.libsignal.protocol.ecc.ECKeyPair;
|
|
import org.signal.libsignal.protocol.kem.KEMKeyPair;
|
|
import org.signal.libsignal.protocol.kem.KEMKeyType;
|
|
import org.signal.libsignal.protocol.kdf.HKDF;
|
|
import org.signal.libsignal.protocol.state.PreKeyBundle;
|
|
import org.signal.libsignal.crypto.Aes256GcmSiv;
|
|
import org.signal.libsignal.crypto.Aes256GcmEncryption;
|
|
import org.signal.libsignal.crypto.Aes256Ctr32;
|
|
|
|
public class Libsignal {
|
|
public void exemple(byte[] key, byte[] nonce, byte[] ikm, KEMKeyType tipDinParametru) throws Exception {
|
|
ECKeyPair ec = ECKeyPair.generate(); // EXPECT: X25519 | quantum-vulnerable
|
|
IdentityKeyPair id = IdentityKeyPair.generate(); // EXPECT: X25519 | quantum-vulnerable
|
|
KEMKeyPair kem = KEMKeyPair.generate(KEMKeyType.KYBER_1024); // EXPECT: Kyber-1024 | quantum-safe
|
|
KEMKeyPair kem2 = KEMKeyPair.generate(tipDinParametru); // EXPECT: libsignal KEM key pair | unknown
|
|
byte[] okm = HKDF.deriveSecrets(ikm, "info".getBytes(), 32); // EXPECT: HKDF | quantum-safe
|
|
Aes256GcmSiv siv = new Aes256GcmSiv(key); // EXPECT: AES-256-GCM-SIV | quantum-safe
|
|
Aes256GcmEncryption gcm = new Aes256GcmEncryption(key, nonce, new byte[0]); // EXPECT: AES-256-GCM | quantum-safe
|
|
Aes256Ctr32 ctr = new Aes256Ctr32(key, nonce, 0); // EXPECT: AES-256-CTR | quantum-safe
|
|
PreKeyBundle bundle = new PreKeyBundle(1, 1, 2, ec.getPublicKey(), 3, ec.getPublicKey(), new byte[64], id.getPublicKey()); // EXPECT: libsignal session setup (X3DH/PQXDH) | unknown
|
|
}
|
|
}
|