Encontré la solución anterior por @LaceCard no funcionó para mí. En general, esto no es evidente pero de nuevo no hay nada en la criptografía es;)
String key = "MihU9ztW9sEvkBL6BxyaOMgkSbodNS8yoHaHcio+WE...blahblah"
byte[] keyBytes = Base64.decode(key);
//If using Android and Spongycastle provider should be "SC"
KeyFactory kf = KeyFactory.getInstance("ECDH", "BC");
//CURVE_NAME e.g prime192v1
ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec(CURVE_NAME);
ECPoint point = ecSpec.getCurve().decodePoint(keyBytes);
ECPublicKeySpec pubSpec = new ECPublicKeySpec(point, ecSpec);
ECPublicKey myECPublicKey = (ECPublicKey) kf.generatePublic(pubSpec);
Nota: necesitará para manejar las posibles excepciones debidamente
¿Cuál es la clase que está utilizando para representar a su Java ECDH ¿Llave pública? Obtendrá mejores respuestas al mostrar su código y no requerir que la gente adivine. –