Моя цель - создать из него пары ключей эллиптической кривой, используя библиотеку губчатых замков, а затем защитить их.
X9ECParameters curve = ECNamedCurveTable.getByName("secp256k1");
ECDomainParameters domainParams = new ECDomainParameters(curve.getCurve(),curve.getG(), curve.getN(), curve.getN(), curve.getSeed());
SecureRandom secureRandom = new SecureRandom();
ECKeyGenerationParameters keyParams = new ECKeyGenerationParameters(domainParams, secureRandom);
ECKeyPairGenerator generator = new ECKeyPairGenerator();
generator.init(keyParams);
AsymmetricCipherKeyPair kp= generator.generateKeyPair();
char[] passPhrase = "hello".toCharArray();
PGPKeyPair ecKeyPair = new BcPGPKeyPair(PGPPublicKey.ECDH, kp, new Date());
PGPKeyRingGenerator keyRingGen = new PGPKeyRingGenerator
(PGPSignature.DEFAULT_CERTIFICATION,
ecKeyPair,
"umaimaahmed1@gmail.com", null, null,
null, new BcPGPContentSignerBuilder(PGPPublicKey.EC,
HashAlgorithmTags.SHA256),
new BcPBESecretKeyEncryptorBuilder(PGPEncryptedData.AES_256).build(passPhrase));
После этого выполняется генерация разобранного бронированного брелока.
Работает нормально для RSA, но для реализации ECC я получаю исключение недопустимый объект в getInstance: org.spongycastle.asn1.x9.X962Parameters
когда он попадает в строку PGPKeyPair ecKeyPair = new BcPGPKeyPair (PGPPublicKey.ECDH, kp, new Date ());
Я не могу найти что-либо в Интернете, чтобы сгенерировать кольца ключей PGP из пар ключей ECC.