USB-ключ защиты программного обеспечения для Java с SDK, который является кросс-платформенным «для реального». Это существует? - PullRequest
8 голосов
/ 17 января 2012

Я хотел бы спросить, знает ли кто-нибудь об аппаратном USB-ключе для защиты программного обеспечения, который предлагает очень полную готовую поддержку API для межплатформенных развертываний Java.

Его SDK должен содержать jar (только одну, а не одну отдельную библиотеку для каждой ОС и битность), готовую для добавления в проект в качестве библиотеки.

  • Jar должен содержать все нативные файлы для различныхОперационные системы и разрядности
  • С точки зрения приложения, следует продолжать писать (вызовы API) один раз и запускать везде, не заботясь о том, где конечный пользователь будет запускать программное обеспечение
  • .при условии, что jar должен сам заниматься загрузкой соответствующей нативной библиотеки

Существует ли такая вещь?

С тем, что я пробовал до сих пор, у вас есть разныеAPI-интерфейсы и скомпилированные библиотеки для win32, linux32, win64, linux64 и т. Д. (Или вам даже придется самостоятельно скомпилировать что-либо на целевой машине), но, эй, мы здесь делаем Java, мы незнать (и не важно), где будет запускаться программа!

И мы не можем ожидать, что конечный пользователь будет инженером-программистом, настроит (и сломает!) свой сервер Linux, библиотеки ссылок, беспорядокс gcc, засорять файловую систему и т.д ...

В общем, поддержка Java (в прозрачной кроссплатформенной манере) довольно плоха с ключами SDK, которые я до сих пор оценивал (например, KeyLok и SecuTech UniKey).Я даже купил (нет бесплатного оценочного комплекта) SecureMetric SDK и ключи (они должны были быть "ооочень" простыми для интеграции - согласно маркетинговым материалам: \), и они были худшими из всех: SecureDongle X не имеет 64-битной поддержки и SecureDongle SDвообще не кроссплатформенный.

Итак, кто-нибудь прошел через это и нашел окончательный USB-ключ безопасности Java для кроссплатформенных развертываний?

Примечание:программное обеспечение малообъемное, высокоценное;приложение находится в автономном режиме (интрасеть без доступа к Интернету), поэтому нет альтернативы онлайн-активации и т. п.

- РЕДАКТИРОВАТЬ

Пробные ключи HASP (раньше назывались «Aladdin»)) и добавил их в список «нет-нет»: здесь также нет поддержки «из коробки»: например, конечный пользователь-linux должен вручную поместить .soбиблиотека (конкретный файл для соответствующей битности) в нужном месте в своей файловой системе, и экспортировать env.переменная соответственно.

Ответы [ 3 ]

3 голосов
/ 24 января 2012

Полный отказ от ответственности: я работаю в компании , которая производит защитные ключи для программного обеспечения (CodeMeter).Но я считаю, что у нас могло бы быть решение, отвечающее вашим требованиям: у нас есть единый API для всех платформ (Win, Mac, Linux и т. Д., Как 32-разрядных, так и 64-разрядных).Каждый компьютер конечного пользователя просто требует времени выполнения (служба в Windows; демон в Linux).Мы используем нативный Java API, который использует TCP / IP для вызова нашей среды выполнения, поэтому никаких специальных драйверов устройств не требуется.Вы можете выполнить активацию либо перед отправкой ключа (предварительное программирование), либо с помощью обмена файлами (NikeNet) в развертываниях без доступа к Интернету, либо вы можете удалить ключ, перенести его на компьютер, на котором есть подключение к Интернету, и обновитьЛицензия там.

На более высоком уровне, чем API, у нас есть AxProtector, который представляет собой автоматизированный инструмент защиты / шифрования, который вы можете использовать для тестирования нашей системы защиты без изменений исходного кода.Это позволило бы вам протестировать реализацию на всех интересующих вас платформах - вам не нужно создавать несколько версий для разных платформ.

У нас была компания из Fortune 100, которая использовала это для защиты приложения Java, которое работалона не-Intel Solaris, поэтому мы знаем, что он прошел стресс-тестирование как кроссплатформенное решение.

У нас есть бесплатная полнофункциональная система eval, с которой мы можем получить вас как можно скорее.Если вы отправите мне электронное письмо по адресу, указанному в моем профиле, мы отправим вам SDK и поможем быстро определить, решит ли это вашу проблему.

2 голосов
/ 27 января 2012

Вы можете использовать ключи Dinkey Pro , чтобы добиться именно этого.Хотя они используют отдельные собственные библиотеки для каждой операционной системы и архитектуры, вам просто нужно вызвать их Java API, и он позаботится о битах, специфичных для каждой платформы.Оберните библиотеки в JAR-файл с помощью .class (API), и вы получите изящное решение.Сами ключи без водителя.

1 голос
/ 13 октября 2016

Я могу только рекомендовать избегать системы SecuTech UniKey . Во время оценки продукт отвечал всем необходимым требованиям. Мы начали интегрировать это решение и обнаружили одну проблему за другой. Вот краткий список основных проблем, которые являются частью SDK 6.2.7:

  1. Настройки разработчика меняются случайным образом при сохранении и загрузке одного и того же решения ( Видео ).
  2. DLL-файлы, которые упакованы разработчиком, не загружаются.
  3. Консольная версия разработчика для сборок на основе сценариев не работает. Он не может обернуть exe / dll-файлы, которые можно обернуть версией разработчика на основе графического интерфейса.

Поддержка реагирует, но на самом деле не решает проблемы.

В конце концов, мы потратили почти месяц работы по интеграции этой системы защиты, но теперь приходится переключаться из-за огромных проблем с качеством.

...