Ho trovato la soluzione di cui sopra da @LaceCard non ha funzionato per me. In generale questo non è ovvio, ma poi di nuovo niente in crittografia è;)
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: è necessario gestire le potenziali eccezioni adeguatamente
Qual è la classe che si sta utilizzando per rappresentare il vostro Java ECDH chiave pubblica? Ottieni risposte migliori mostrando il tuo codice e non richiedendo alle persone di indovinare. –