Сайт для сбора всех изученных мной технологий воедино, в одну особенную картину. Возникла идея реализовать защищённый мессенджер на основе технологий PGP.
На данный момент реализовано:
- функционал взаимодействия с файлом-хранилищем ключей
- базовый алгоритм шифрования/дешифрования запросов к серверу
- собственно api самого сервера, но они на сервере в зачаточном виде, так сказать тестовый базис
Эта запись от 15 февраля 2023 года. После недели кодинга с нуля желание разрабатывать данную идею не угасло, а значит продолжаю. Позже дойдут руки до всяких оформлений и косметики. Пока пилю только работоспособный функционал, чтобы выкатить минималку для обмена текстом.
Клиентская часть на JavaScript - все генерации и шифрования на стороне клиента. Обмен с сервером со сквозным шифрованием SSL + шифрование библиотекой openpgp.js самих запросов. Чугун!
Серверная часть пока на PHP, собственно, для тестов и разработки архитектуры API. Используется GnuPG для шифрования/дешифрования запросов. Сообщения планируется хранить до того момента, пока пользователь их не заберёт.
Шифрование в два этапа:
- Шифрование сообщения открытым ключом собеседника
- Шифрование запроса серверу, включающего в себя зашифрованное сообщение
Сегодня протестировал отправку/приём запросов, шифровку/дешифровку. Прошёлся по интерфейсу, вроде без явных косяков. Уже можно генерировать контейнер с ключами, который зашифрован паролем. Затем подключать его на сайте. Главное - не забыть сохранить контейнер к себе на устройство.
Возможно, MVP перекочует в отдельный репозиторий и будет PWA на отдельной ссылке, как Штирлиц.