Коды ошибок для CryptographicExceptions? - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь сопоставить различные исключения Cryptographic с пользовательскими исключениями и сообщениями.Например, «Объект уже существует» ==> «Недостаточно прав для доступа к существующему контейнеру ключа RSA».Однако, когда я проверяю класс CryptographicException, я не нахожу никакой коллекции кодов ошибок, как у других типов исключений.Я работаю на 3.5, поэтому HResult также недоступен.Наконец, я не могу положиться на сообщение, так как оно может быть локализовано.Есть еще идеи?

1 Ответ

1 голос
/ 12 марта 2012
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.");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...