NET中的publicKey解密

时间:2019-03-31 19:43:39

标签: java .net cryptography

我有一个带有公共密钥的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;
        }
    }

有人可以告诉我如何进一步进行吗?