Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
980 of 1492 menu
◀ ▶

CryptographicException

Исключение из System.Security.Cryptography возникает при неверных ключах или данных. В примере в RSA передают слишком короткий буфер в ImportRSAPublicKey - метод бросает CryptographicException. Объект RSA освобождают через using. Боевые секреты в уроке не используют.

Синтаксис

using System.Security.Cryptography; rsa.ImportRSAPublicKey(bytes, out int read);

Пример

Давайте поймаем CryptographicException:

using System; using System.Security.Cryptography; class Program { static void Main() { try { using var rsa = RSA.Create(); rsa.ImportRSAPublicKey(new byte[] { 1, 2, 3 }, out _); } catch (CryptographicException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте убедимся, что RSA создался до импорта:

using System; using System.Security.Cryptography; class Program { static void Main() { using var rsa = RSA.Create(); Console.WriteLine(rsa.KeySize > 0); } }

Результат выполнения кода:

True

Пример

Давайте проверим тип пойманного сбоя:

using System; using System.Security.Cryptography; class Program { static void Main() { try { using var rsa = RSA.Create(); rsa.ImportRSAPublicKey(new byte[] { 1, 2, 3 }, out _); } catch (CryptographicException ex) { Console.WriteLine(ex is Exception); } } }

Результат выполнения кода:

True

Смотрите также

  • JsonException,
    сбой разбора данных
  • FormatException,
    неверный формат текста
  • Exception,
    базовый тип исключений
  • throw,
    которым задают сбой вручную в других уроках
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить