我有一个带有公共密钥的Java密钥库,还有一个使用私钥解密加密字符串的Java应用程序。一切正常。
我现在想要的是将此代码迁移到.NET。
问题是当我尝试使用公共密钥解密时,我得到:
Error occurred while decoding OAEP padding
错误。
我试图验证签名数据,但结果始终为假。
公钥是从JKS中提取的。
我也尝试从Java密钥库中导出证书,但是缺少公共密钥。
这是用于解密的Java代码:
private static byte[] Decrypt(String input) throws IOException, InvalidKeyException {
try {
KeyPair keyPair = GetKeyPair();
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, keyPair.getPublic());
return cipher.doFinal(DatatypeConverter.parseBase64Binary(input));
}
catch(Exception e)
{
//TODO Handle this exception
return null;
}
}
有人可以告诉我如何进一步进行吗?
答案 0 :(得分:0)
您可以参考如下所示的链接之一来解决您的问题
加密和解密查询字符串
加密和解密实时示例,您可以自行检查
加密和解密存储在数据库中的用户名或密码