【问题标题】:How do I retrieve a public/private key from a file using BouncyCastle?如何使用 BouncyCastle 从文件中检索公钥/私钥?
【发布时间】:2013-05-15 13:18:00
【问题描述】:

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

我有 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 解码文本文件?

【问题讨论】:

  • 立即将它们重新编码为byte[] 似乎是个错误。任何加密 API 都可能需要您已解码的 PublicKeyPrivateKey
  • 我想我在弄清楚如何获取基本 PublicKey 和 PrivateKey 时遇到了麻烦。

标签: java cryptography key bouncycastle decoding


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 2014-01-17
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多