小编Ili*_*nov的帖子

如何使用 IAIK JCE 在 Java 中使用 PKCS#5 格式的 PBE 加密 RSA 私钥?

我已经创建了 RSA 密钥对。现在,我尝试使用 DES 算法加密私钥,将其格式化为 PKCS#5 并将其打印在控制台上。不幸的是,生成的私钥不起作用。当我尝试使用它时,输入正确的密码后,ssh 客户端返回密码无效:

加载密钥“test.key”:提供的用于解密私钥的密码不正确

有人可以告诉我我错在哪里吗?

这是代码:

private byte[] iv;

public void generate() throws Exception {
    RSAKeyPairGenerator generator = new RSAKeyPairGenerator();
    generator.initialize(2048);
    KeyPair keyPair = generator.generateKeyPair();

    String passphrase = "passphrase";
    byte[] encryptedData = encrypt(keyPair.getPrivate().getEncoded(), passphrase);
    System.out.println(getPrivateKeyPem(Base64.encodeBase64String(encryptedData)));
}

private byte[] encrypt(byte[] data, String passphrase) throws Exception {
    String algorithm = "PBEWithMD5AndDES";
    salt = new byte[8];
    int iterations = 1024;

    // Create a key from the supplied passphrase.
    KeySpec ks = new PBEKeySpec(passphrase.toCharArray());
    SecretKeyFactory skf = …
Run Code Online (Sandbox Code Playgroud)

java rsa password-encryption pkcs#5 iaik-jce

3
推荐指数
1
解决办法
2589
查看次数

标签 统计

iaik-jce ×1

java ×1

password-encryption ×1

pkcs#5 ×1

rsa ×1