3

奇妙な問題があります。私はc#コードビハインドを使用して.netWindowsプロジェクトに取り組んでいます。公開鍵/秘密鍵を使用してファイルを暗号化/復号化しようとしています。私が暗号化に取り組み始めてから、これは私に数回起こりました。暗号化を機能させる方法の実際の問題は、後で別の投稿になります。

問題は、コードをステップ実行しているときに、ポインターがルーチンを終了することです。クラッシュしたり、try/catchブロックに引っかかったりすることはありません。

以下の場合、公開鍵を取得するための行は機能しますが、秘密鍵を取得するための行は機能しません。スキップして呼び出し元のモジュールに戻ります。

string publicKey; // gets the public key
string privateKey; // gets the private key
try
{
    CspParameters cspParam = new CspParameters();
    cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
    System.Security.Cryptography.RSACryptoServiceProvider RSA =
        new System.Security.Cryptography.RSACryptoServiceProvider(cspParam);
    //        The key information
    //from the cspParam object above can be saved via
    //select the;
    publicKey = RSA.ToXmlString(false); // gets the public key
    privateKey = RSA.ToXmlString(true); // gets the private key
    string x = publicKey;
}
catch (Exception ex)
{
    clsGetMessage.DisplayError(ex);
}
4

2 に答える 2

2

これは、VSを使用したデバッグに基づいて言いましたか?メソッドが呼び出されているかどうかを確認するために、スタックトレースまたはログを確認しましたか?

VSデバッガーは、マルチスレッドの場合に間違ったガイドをする可能性があります。

于 2011-01-11T19:13:39.797 に答える
0

PrivateKeyはどこでも使用されていないので、関数呼び出しがコンパイラーによって切り取られているのではないでしょうか。

于 2011-01-11T18:43:00.047 に答える