Skip to content

PANiXiDA/DataEncryptionAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataEncryptionAPI

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.

📥 Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/PANiXiDA/DataEncryptionAPI.git
  2. Настройте базу данных:

    • В Dal\Dal.SQL\Scripts выполните SQL-скрипты для создания базы данных.
  3. Настройте сертификаты:

    • Укажите путь к сертификату в appsettings.json, если сертификат используется.
    • Если сертификат не требуется, отключите проверку в конфигурации Kestrel.
  4. Запустите приложение: Перейдите в директорию DataEncryption и выполните:

    dotnet run

    Приложение будет доступно по адресу:

📚 Дополнительная информация

  • Конфигурация Kestrel и HttpClientHandler позволяет безопасно обрабатывать сертификаты.
  • Проект включает в себя авторизацию и middleware для проверки JWT токенов.

📧 Контакты

Если у вас есть вопросы или предложения, создайте issue в GitHub Issues.

About

API для шифрования данных о пользователе с помощью различных алгоритмов.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages