Я пытаюсь защитить свой код JavaFX от кода ProGuard. Я понимаю, что любой код, который есть у пользователя, является честной игрой. Это означает, что мне нужно перенести всю мою чувствительную бизнес-логику на сервер, который можно надежно защитить.
Из-за моего ограниченного опыта работы на стороне сервера я ищу объяснение / пример того, как разработать соединение клиент-сервер, чтобы оно было безопасным и достаточно быстрым. Моя основная путаница связана с тем, что требуется в клиентском коде, например, инициализация сервера и get
/put
запросы (?), а также какие файлы или код я помещаю на сервер (и где).
Я привел 3 цитаты ниже из соответствующих ответов, чтобы дать некоторую справку. Посты соответственно найдены Вот, Вот а также Вот. Первый заявляет:
мы «защищаем» наше программное обеспечение, имея часть
вычисления происходят на стороне сервера: у нас есть несколько .class, которые
не будет работать, если они не генерируются со стороны сервера, и мы отправляем
их по проводам (а то, что отправляется по проводам, всегда различно:
мы генерируем уникальные, одноразовые файлы .class на стороне сервера).
Это предполагает создание целых файлов классов на стороне сервера. Некоторые из моих классов я бы хотел полностью разместить на сервере, но многие файлы классов содержат только методы, которые являются чувствительными и должны основываться на сервере. Вторая ссылка гласит:
Переместите наиболее важные части службы из приложения в
веб-сервис, скрытый за языком серверной стороны, таким как PHP. Переместить
алгоритм и обработать данные на удаленном сервере, и использовать
приложение, чтобы просто предоставить ему данные.
Кажется, это больше соответствует моим намерениям, но я не совсем понимаю, как выполнять эти функции «перемещения» и «обработки». Должен ли я просто заменить секретные вызовы методов / классов запросами get () к серверу, который находится за SSL-соединением, предоставляемым любым основным поставщиком сервера? Можете ли вы найти соответствующий полный пример?
Третья цитата:
Настройте сервер, который отвечает на запросы из вашего приложения, «использует»
активы (что бы это ни значило), а затем отправляет результат обратно
приложение.
Еще раз, пример того, как «запрашивать», «использовать» и «отправлять» целые методы / классы в контексте JavaFX, был бы превосходным. Я готов читать весь день, мне просто нужно руководство по этому начальному шагу, поэтому я начинаю с правильной основы.
Задача ещё не решена.
Других решений пока нет …