agree
Runs ECDH between key id and peerPublicKey, an uncompressed X9.63 P-256 point, and returns the 32-byte shared secret. Throws KeyAgreementUnsupportedException for a key that can't agree keys (made for signing only): the wallet then signs instead.