从海绵城堡库(OpenPGP)在android studio中创建铠装ECC公/私钥

时间:2019-07-01 17:57:01

标签: java android encryption elliptic-curve openpgp

我的目标是使用海绵城堡库从中创建椭圆曲线键对,然后对其进行防护。

      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密钥环。

0 个答案:

没有答案