CAPICOM Decrypt() 错误,并显示“ASN1 bad tag value met”

发布于 2024-08-21 22:47:31 字数 520 浏览 5 评论 0原文

我通过旧版 VB6 应用程序使用 CAPICOM 库加密了大量数据。

我需要从 .Net 3.5 应用程序访问此数据,但当我调用 Decrypt 方法时收到错误:“ASN1 bad tag value met”。谷歌在追踪合适的代码示例或解释此错误的含义方面几乎没有提供任何帮助。

以下代码几乎完全复制了 VB6 代码中发生的情况:

static string DecryptEncryptedText(string encryptedText, string secretKey)
{
    var encryptedDataObj = new CAPICOM.EncryptedData();
    encryptedDataObj.SetSecret(secretKey, CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD);
    encryptedDataObj.Decrypt(encryptedText);
    return encryptedDataObj.Content;
}

I have a large amount of data encrypted with the CAPICOM library through our legacy VB6 applications.

I need to access this data from a .Net 3.5 app but am getting the error: "ASN1 bad tag value met" when I call the Decrypt method. Google has been little help in tracking down decent code samples or explanations as to what this error means.

The following code is almost exactly a replication of what was happening in the VB6 code:

static string DecryptEncryptedText(string encryptedText, string secretKey)
{
    var encryptedDataObj = new CAPICOM.EncryptedData();
    encryptedDataObj.SetSecret(secretKey, CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD);
    encryptedDataObj.Decrypt(encryptedText);
    return encryptedDataObj.Content;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扎心 2024-08-28 22:47:31

当我收到此错误时,这是​​因为我使用了错误的密钥进行解密。你检查过你的secretKey的编码吗?我怀疑数据是用 VB6 中的 ANSI 字符串加密的,而您在新代码中使用的是 Unicode 字符串。

When I get this error it has been because I used the wrong key to decrypt. Have you checked the encoding of your secretKey? I suspect the data was encrypted with an ANSI string in VB6 and you are using a Unicode string in your new code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文