我正在尝试将不同的 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 回答