さまざまなCryptographicExceptionsをカスタム例外とメッセージにマップしようとしています。たとえば、「オブジェクトはすでに存在します」==>「既存のRSAキーコンテナにアクセスするための十分な権限がありません」。ただし、CryptographicExceptionクラスを調べると、他の例外タイプのようなエラーコードコレクションは見つかりません。3.5で実行しているため、HResultも使用できません。最後に、メッセージはローカライズできるため、信頼できません。他のアイデアはありますか?
質問する
640 次
1 に答える
1
public Exception GetMappedCryptographicException(CryptographicException e)
{
uint hresult = (uint)Marshal.GetHRForException(e);
switch (hresult)
{
case 0x8009000F; // OBJECT_ALREADY_EXISTS
return new Exception(e, "Not enough permissions to access RSA key container.");
default:
return new Exception(e, "Unexpected cryptographic exception occurred.");
}
}
于 2012-03-12T19:47:21.383 に答える