Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: не могли бы Вы скомпилировать dll?  (Прочитано 10434 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sommer
Молодой специалист

us
Offline Offline

« : 19-11-2007 13:12 » 


исходники http://www.jimischopp.com/jimischopp.com/Software_files/MSDPAPIJava.zip
там MSDPAPIJava.cpp и MSDPAPIJava.h

This is a JNI wrapper that allows you to use the Microsoft DPAPI encryption library in your Java programs. This is a very secure way of encrypting/decrypting data, letting you keep (for example) database passwords in properties files, without the need for you to keep track of a “key” (the O/S does it for you). This only works on Windows obviously, but is a great choice for security if you have the option.
http://www.jimischopp.com/jimischopp.com/Software.html

к этой dll обращаются из java, вызываются функции CryptProtectData и CryptUnprotectData
та dll что там лежит - работает, но под W2k, мне бы хотелось чтобы работало еще и под XP - не регестрируется/не ставится dll, crypt32.dll имеют разные размеры в W2K и WXP
не могли бы Вы  скомпилировать под XP?

при компиляции понадобятся jni.h и еще что-то, они лежат в jdk( лучше использовать 5 или 6-ую(последняя))

можно выложить где-то и указать линk или выслать мне anatolevich at yandex ru, я буду отсылать каждому кто напишет мне письмо
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 19-11-2007 13:20 » 

А чуть подробнее. На чём скомпилировать? Какие опции? Явы у меня нет. Есть 3 студии - 6, 2003, 2005 и винда ХР. В папке проект-файл я что-то не нашёл. Как ты это под 2000ой сделал? Если у тебя есть проект под любую из этих систем - кидай мне на мыло. Скомпилю.

Мне сделать не влом - только времени нет разбираться со всей это лабудой.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Sommer
Молодой специалист

us
Offline Offline

« Ответ #2 : 19-11-2007 13:28 » 

с++ исходники находятся MSDPAPIJava\MSDPAPI\src(пожно посиком по названию файлов - их я привел точно)
проекта у меня нет, dll исопльзуется та, что лежит в архиве, файлы не мои, в архиве проекта нет, только два исходника.

на чем скомпилировать? - вопрос не понял. в какой студии? - хз... бует какая-то разница?...
чтобы скомпилировать файлы понадобится jni.h - есть в jdk(весит метров 50, идет в комплетке навернео со всеми java IDE), в VC++ 6.0 не нашел, 2003 стоит толко дома (
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 19-11-2007 16:09 » 

си-плюснутые файлы я-то нашёл. Явы у меня нет. А без неё нельзя?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 20-11-2007 00:11 » 

Offtopic:
Sommer, давно тебя не было видно!


Попробуй подробнее описать, что  надо сделать - круг потенциальных помощников будет шире.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #5 : 20-11-2007 06:25 » 

спасибо, приятно )

подробнеe о том что это:
это библиотека для вызова нативных функций из java, java сама по себе кроссплатформенна, чтобы вызвать функции windows создаются dll b некие jar чтобы работать с dll - все это JNI.
эти библиотека вызывает CryptProtectData и CryptUnprotectData из crypt32.dll, которая шифрует ключ применительно к машине(это к теме простой защиты к программе - https://forum.shelek.ru/index.php/topic,13396.0.html)
в java зашифровать ключ где неким алиасом была бы машина или ОС нельзя, на сколько я знаю, из-за кроссплатформенности, не смотря на навороченные способы шифрования которые появились в JDK6


в чем проблема:
dll Работает под W2K и не работает под XP, я предположил что из-за того что библиотеки crypt32.dll, которые используются напрямую имеют разный размер в 2к и XP, а dll была скомпилоирована наверное под старую crypt32.dll(W2K)


что нужно сделать:
нужно скомпилировать dll ) чтобы попроверить мои догадки и заставить работать под XP.
как это сделать? - если б я знал я наверное сам бы это сделал.
там нужно подключить JNI.h(и то что подключается в ней), возможно такая библиотека есть в ваших IDE и SDK для С++ и каких-то платформ, но маловероятно, она точно есть в JDK
я пробовал создать проект в VC++6.0, прописал пути к .h файлам, которые есть в JDK
после подключения библиотек - касающиеся их ошибки пропали
компилятор не знал тип "DATA_BLOB", я такой тип тоже не знаю )), на С++ работаю, но под очень редкую платформму, решил спросить на форуме предположив что кому-то будет "просто" решить задачу, кто рабоатет с прогарммированием под win

задача решена. как:
я начал искать другие варианты(давно начал), совсем недавно - 11 ноября, появился проект - http://sourceforge.net/projects/jdpapi/
т.е. тот же вызов MS data protection API из Java.
в текущей версии 1.0 исходников нет, документации нет, но я вроде создал проект, однако при запуске просто вис при попытке что-то закодировать.
этой ночью я связался с разработчиком, оказалось что в его коде нет подключения dll и надо самому руками вызывать System.loadLibrary("путь к dll");
так же должен отметить, что там нет base64 кодирования в отличие от MSDPAPIJava и это нужно делать также самому, иначе при записи ключа в файл получите проблемы.


выражаю благодарность всем за участие, если кто-то таки скомпилирует - я обязательно проверю как работает и дам знать.
« Последнее редактирование: 20-11-2007 06:29 от Sommer » Записан

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

us
Offline Offline

« Ответ #6 : 20-11-2007 14:36 » 

только что выложена версия 1.0.1
предыдущая не работала на win2k
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines