0

従来の VB6 アプリケーションを介して CAPICOM ライブラリで暗号化された大量のデータがあります。

.Net 3.5 アプリからこのデータにアクセスする必要がありますが、Decrypt メソッドを呼び出すと、"ASN1 bad tag value met" というエラーが表示されます。Google は、適切なコード サンプルや、このエラーの意味に関する説明を追跡するのにほとんど役に立ちませんでした。

次のコードは、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;
}
4

1 に答える 1

3

このエラーが発生したのは、復号化に間違ったキーを使用したためです。secretKey のエンコーディングを確認しましたか? データが VB6 の ANSI 文字列で暗号化されていて、新しいコードで Unicode 文字列を使用していると思われます。

于 2010-02-16T03:59:03.027 に答える