Usando o BouncyCastle para criptografar com o ECIES em Java

Estou tentando criptografar algum conteúdo usando o algoritmo ECC usando BouncyCastle em java. Mas estou recebendo uma exceção da biblioteca BouncyCastle dizendo que não é possível transmitirJCEECPublicKey paraIESKey. Que eu entendi que a chave pública gerada porKeyPairGenerator éJCEECPublicKey que não pode ser usado em javaCipher.init método. Alguém pode me dizer como convertê-lo em chave pública ou especificação X509 para que eu possa usá-lo em criptografia.

Aqui está o código que eu tentei

// add instance of provider class
Security.addProvider(new BouncyCastleProvider());

// initializing parameter specs secp256r1/prime192v1
ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("prime192v1");

// key pair generator to generate public and private key
KeyPairGenerator generator = KeyPairGenerator.getInstance("ECDH", new BouncyCastleProvider());

// initialize key pair generator
generator.initialize(ecSpec);

// Key pair to store public and private key
KeyPair keyPair = generator.generateKeyPair();

Cipher iesCipher = Cipher.getInstance("ECIES", new BouncyCastleProvider());
iesCipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic());

Também tentei converter a chave pública em X509EncodedSpec, mas recebo a mesma exceção

X509EncodedKeySpec spec = new X509EncodedKeySpec(keyPair.getPublic().getEncoded());
KeyFactory factory = KeyFactory.getInstance("ECDH");

PublicKey publicKey = factory.generatePublic(spec);

A exceção que estou recebendo é

java.lang.ClassCastException: org.bouncycastle.jce.provider.JCEECPublicKey cannot be cast to org.bouncycastle.jce.interfaces.IESKey
    at org.bouncycastle.jce.provider.JCEIESCipher.engineGetKeySize(JCEIESCipher.java:49)
    at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1057)
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1015)
    at javax.crypto.Cipher.init(Cipher.java:1229)
    at javax.crypto.Cipher.init(Cipher.java:1173)
    at com.test.EciesTest.main(EciesTest.java:45)

EDITAR

Com base no comentário, a versão do JDK que estou usando é JDK 7 - Instruções de importação do Oracle que estou usando:

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Security;
import java.security.spec.ECGenParameterSpec;
import javax.crypto.Cipher;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

questionAnswers(1)

yourAnswerToTheQuestion