小编Man*_*len的帖子

读取Java中的私有加密密钥

我有以下代码:

    PEMParser pemParser;
    File telexuskeys = new File(locationKey);
    if(telexuskeys.exists())
        pemParser = new PEMParser(new FileReader(telexuskeys));
    else{
        usage(ops);
        throw new FileNotFoundException("The key file (company's certificate) doesn't exist!");
    }

    System.out.println("Loading company's certificate");

    Object object = pemParser.readObject();
    Object object2 = pemParser.readObject();

    PEMDecryptorProvider decProv = new JcePEMDecryptorProviderBuilder().build(passwordPem.toCharArray());
    JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC"); 

    byte[] keyBytes = PrivateKeyInfo.getInstance(object2).getEncoded();
    PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes);
    KeyFactory kf = KeyFactory.getInstance("RSA", "BC");        
    PrivateKey pk = kf.generatePrivate(spec);
Run Code Online (Sandbox Code Playgroud)

我的pem文件只有证书和私钥。我曾经能够读取文件并获得私钥,但是现在文件已使用密码保护(加密)。我仍然缺少什么指示。我知道我需要使用PEMDecryptorProvider和JcaPEMKeyConverter对象来获取它,但是我没有找到正确的组合。

java encryption private-key

6
推荐指数
1
解决办法
5195
查看次数

标签 统计

encryption ×1

java ×1

private-key ×1