小编use*_*202的帖子

如何从字节数组创建 RSAPrivateKey 实例?

您好,我正在尝试解密使用 RSA 公钥加密的文件。我有一个对应于 pubkey 的 3072 位 RSA 私钥。该文件包含密钥的 PKCS8 编码的原始字节。我在一个字节数组 rsa_priv 中。

public void decrypt()
{
try
{
    SecretKeySpec sk=new SecretKeySpec(rsa_priv,"RSA/EBC/PKCS8");
    Cipher dec = Cipher.getInstance("RSA");
    dec.init(Cipher.DECRYPT_MODE, sk,new IvParameterSpec(iv));
     //OAEPWithSHA-512AndMGF1Padding        
     byte temp[];
     temp=dec.doFinal(sess);
     String t=temp.toString();
     System.out.println("Session key is:"+ t);
     //session=dec(sess,rsa_priv);OAEPWithSHA-256AndMGF1Padding
}
catch (Exception e)
{
    System.out.println("Exception occured:"+ e);
}
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到以下信息

Exception occured:java.security.InvalidKeyException: No installed provider 
supports this key: javax.crypto.spec.SecretKeySpec
Run Code Online (Sandbox Code Playgroud)

我已经进口了这些

import java.io.*;
import javax.crypto.*; 
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import javax.crypto.KeyGenerator;
import java.security.*;
import javax.crypto.SecretKey;
import javax.crypto.spec.OAEPParameterSpec;
Run Code Online (Sandbox Code Playgroud)

有人请帮助我

java cryptography

4
推荐指数
2
解决办法
6782
查看次数

标签 统计

cryptography ×1

java ×1