如何使用BouncyCastle从文件中检索公钥/私钥?

时间:2013-05-20 21:29:57

标签: java cryptography key bouncycastle decoding

我很难理解如何使用提供给我的私钥和公钥文件。

我有2个文件,public.pemprivate.pem。我正在尝试使用BouncyCastle来获取公钥和私钥。我写了这个类来尝试提取密钥:

public class KeyReaders {

    public static class PublicKeyReader {

        public static byte[] get(String filename)
                throws Exception {

            FileReader f = new FileReader(filename);

            PEMParser pp = new PEMParser(f);
            SubjectPublicKeyInfo  o = (SubjectPublicKeyInfo )pp.readObject();

            return o.parsePublicKey().getEncoded();
        }
    }

    public static class PrivateKeyReader {

        public static byte[] get(String filename)
                throws Exception {

            FileReader f = new FileReader(filename);

            PEMParser pp = new PEMParser(f);
            PEMKeyPair o = (PEMKeyPair)pp.readObject();


            return  o.getPrivateKeyInfo().getEncoded();
        }
    }
}

我似乎无法弄清楚如何使用这些键来解码文件。我有一个文件test.txt,我无法使用私钥进行解码。我不是100%确定这甚至是读取.PEM文件的合适方式。

那么,在给定私钥文件的情况下,如何使用BouncyCastle解码文本文件?

1 个答案:

答案 0 :(得分:0)

我假设您正在尝试生成常规JCA密钥对。您是否尝试过使用JcaPEMKeyConverter类?它位于org.bouncycastle.openssl.jcajce包中。