I am trying to generate a shared secret in my app like this:
public static byte[] generateSharedSecret(PrivateKey privateKey PublicKey publicKey) {
KeyAgreement keyAgreement = KeyAgreement.getInstance("ECDH", "SC");
keyAgreement.init(privateKey);
keyAgreement.doPhase(publicKey, true);
return keyAgreement.generateSecret();
}
This is working fine, but the PublicKey
I use here should be coming from the backend.
The backend just sends me the x
and y
value of a point on an elliptic curve and now I am supposed to generate the PublicKey
from that. But I just can't figure it out! How can I create a PublicKey
instance just from those two values?