我的目标是生成 armoer 椭圆曲线 (ECC) 公钥和私钥。所以我已经实现了 AsymmetricCipherKeyPair,现在我必须将它转换为 OpenPGP 密钥,以便将它传递给 KeyRingGenrator。X9ECParameters parms = ECNamedCurveTable.getByOID(new ASN1ObjectIdentifier("curve25519")); ECParameterSpec domainparams = EC5Util.convertToSpec(parms); ECDomainParameters domainParams = EC5Util.getDomainParameters(null,domainparams); SecureRandom secureRandom = new SecureRandom(); ECKeyGenerationParameters keyParams = new ECKeyGenerationParameters(domainParams, secureRandom); ECKeyPairGenerator generator = new ECKeyPairGenerator(); generator.init(keyParams); AsymmetricCipherKeyPair keyPair = generator.generateKeyPair();生成密钥对后,我必须将其转换为 OpenPGP 密钥对,以便它可以在以下函数中传递。 PGPKeyPair eccKeyPair = new PGPKeyPair("openPGPPublicKey", "openPGPPrivateKey");此功能进一步用于密钥环生成。PGPKeyRingGenerator keyRingGen = new PGPKeyRingGenerator (PGPSignature.DEFAULT_CERTIFICATION, eccKeyPair , "umaimaahmed1@gmail.com", null, null, null, new BcPGPContentSignerBuilder(PGPPublicKey.EC, HashAlgorithmTags.SHA256), new BcPBESecretKeyEncryptorBuilder(PGPEncryptedData.AES_256).build(passPhrase));
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
在查看 API 文档时,我发现:
已弃用。使用
BcPGPKeyPair
或JcaPGPKeyPair
视情况而定。
怎么样BcPGPKeyPair
?
毕竟,您要使用 Bouncy Castle 的轻量级 API 生成密钥对。
添加回答
举报
0/150
提交
取消