DataEncryptionAPI — это API, предоставляющее функционал для шифрования, подписи, проверки целостности данных и авторизации. Проект разработан на платформе .NET 8 и поддерживает различные алгоритмы шифрования и подписи.
- Симметричное шифрование: AES.
- Асимметричное шифрование: RSA, ECDSA.
- Хэширование: SHA512 с проверкой целостности данных в POST-запросах.
- JSON Web Token (JWT): Генерация и проверка валидности токена, включая шифрование ролей пользователя.
- Фоновые задачи: Удаление неактивных токенов с использованием фонового сервиса.
- Работа с сертификатами:
- Генерация RSA или ECDSA сертификатов.
- Подпись данных и проверка подписи.
- Настройка Kestrel для проверки сертификата.
- Передача сертификатов через
HttpClientHandler.
- Работа с базами данных: Скрипты для настройки базы данных расположены в
Dal\Dal.SQL\Scripts.
- .NET SDK: версия 8.0 или выше.
- База данных: PostgreSQL.
- Сертификаты:
- Поместите сгенерированный сертификат в корневой центр сертификации.
- Либо отключите проверку сертификатов в настройках Kestrel.
-
Клонируйте репозиторий:
git clone https://github.com/PANiXiDA/DataEncryptionAPI.git
-
Настройте базу данных:
- В
Dal\Dal.SQL\Scriptsвыполните SQL-скрипты для создания базы данных.
- В
-
Настройте сертификаты:
- Укажите путь к сертификату в
appsettings.json, если сертификат используется. - Если сертификат не требуется, отключите проверку в конфигурации Kestrel.
- Укажите путь к сертификату в
-
Запустите приложение: Перейдите в директорию
DataEncryptionи выполните:dotnet run
Приложение будет доступно по адресу:
- Конфигурация Kestrel и
HttpClientHandlerпозволяет безопасно обрабатывать сертификаты. - Проект включает в себя авторизацию и middleware для проверки JWT токенов.
Если у вас есть вопросы или предложения, создайте issue в GitHub Issues.