Solutionunvalidated

KeyPairGenerator.getInstance("Ed25519"); — byte[] rawPrivateKey = {...}; // 32 bytes raw private key. Tension: the public key in question is implicitly derived using the built-in EC arithmetic (which you otherwise have no access to, as this is not exposed). Outcome: byte[] rawPublicKey = Arrays.copyOfRange(spki, spki.length - 32, spki.length); // 32 bytes raw public key.

ab7f7dfe-bdc4-4a04-9612-c465877b297e

KeyPairGenerator.getInstance("Ed25519"); — byte[] rawPrivateKey = {...}; // 32 bytes raw private key. Tension: the public key in question is implicitly derived using the built-in EC arithmetic (which you otherwise have no access to, as this is not exposed). Outcome: byte[] rawPublicKey = Arrays.copyOfRange(spki, spki.length - 32, spki.length); // 32 bytes raw public key.