如何从 AsymmetricCipherKeyPair 创建 PGP 公钥和私钥?

我的目标是生成 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));


慕丝7291255
浏览 155回答 1
1回答

蝴蝶刀刀

在查看 API 文档时,我发现:已弃用。使用BcPGPKeyPair或JcaPGPKeyPair视情况而定。怎么样BcPGPKeyPair?毕竟,您要使用 Bouncy Castle 的轻量级 API 生成密钥对。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java