我的目标是使用海绵城堡库从中创建椭圆曲线键对,然后对其进行防护。
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 =新的BcPGPKeyPair(PGPPublicKey.ECDH,kp,新的Date());
我在互联网上找不到任何东西可以通过ECC密钥对生成PGP密钥环。