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

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

Его SDK должен содержать 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") и добавил их в список "нет-нет": здесь также нет поддержки "из коробки" (например, из банки): end-linux-user должен вручную поместить библиотеку.so (конкретный файл с соответствующей битностью) в нужное место в своей файловой системе и экспортировать env. переменная соответственно.

3 ответа

Решение

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам