package im.actor.keygen;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.security.DigestException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;
public class Main {
public static void main(String[] args) throws DigestException, NoSuchAlgorithmException, IOException {
SecureRandom secureRandom = new SecureRandom();
if (!new File("keys").exists()) {
new File("keys").mkdir();
}
for (int i = 0; i < 4; i++) {
File pubFile = new File("keys/actor-key-" + i + ".pub");
File keyFile = new File("keys/actor-key-" + i + ".key");
if (pubFile.exists() && keyFile.exists()) {
System.out.println("Key #" + i + " exists. Skipping...");
continue;
}
Curve25519KeyPair keyPair = Curve25519.keyGen(secureRandom.generateSeed(64));
FileUtils.writeByteArrayToFile(pubFile, keyPair.getPublicKey());
FileUtils.writeByteArrayToFile(keyFile, keyPair.getPrivateKey());
}
System.out.println("Shared Secret: " + Base64.getEncoder().encodeToString(secureRandom.generateSeed(64)));
}
}