EC 公開鍵を使用してバイト配列を暗号化しようとすると、次の例外が発生します。
java.security.InvalidKeyException: このキーをサポートするプロバイダがインストールされていません: sun.security.ec.ECPublicKeyImpl
を呼び出すと、この例外が生成されますCipher.init()
。以下の行は、プログラムで行ったことを示しています。
ECPublicKey publicKey ;
ECPrivateKey privateKey;
//Generating key paire (public and private keys)
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC", "SunEC");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(571, random);
KeyPair pair = keyGen.generateKeyPair();
privateKey = (ECPrivateKey) pair.getPrivate();
publicKey = (ECPublicKey) pair.getPublic();
// get an AES cipher object with CTR encription mode
Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");
// encrypt the sharedSecret using the public key
cipher.init(Cipher.ENCRYPT_MODE, publicKey);**
byte[] result = cipher.doFinal(data);
この公開鍵をサポートするにはプロバイダーを追加する必要がありますか?