CAPICOM Decrypt() 错误,并显示“ASN1 bad tag value met”
我通过旧版 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当我收到此错误时,这是因为我使用了错误的密钥进行解密。你检查过你的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.