Marcin S Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 Witam Muszę poznać strukturę i metodę tworzenia dll'a - chodzi tu już o skompilowaną bibliotekę, bo do takiej binarki muszę dorzucić podpis cyfrowy. Zatem czy znacie odpowiedź na mój problem lub gdzie można znaleźć informacje o tablicy i sekcjach dll oraz możliwości dodania (np 2KB) dodatkowych danych? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 Witam Muszę poznać strukturę i metodę tworzenia dll'a - chodzi tu już o skompilowaną bibliotekę, bo do takiej binarki muszę dorzucić podpis cyfrowy. Zatem czy znacie odpowiedź na mój problem lub gdzie można znaleźć informacje o tablicy i sekcjach dll oraz możliwości dodania (np 2KB) dodatkowych danych? co to znaczy "musze dorzucic podpis cyfrowy"? dll to biblioteka, jakis kod "zakapsulowany" w klasie, klasa ta ma jakies metody publiczne, ktorych mozesz uzywac, nie musisz i nie mozesz znac kodu z dllki i kodu tych publicznych metod, czyli w jaki sposob one dzialaja, masz specyfikacje - co pobieraja i co zwracaja i to wszsytko co bedziesz wiedzial, to w duzym sktocie o dll, zalezy jeszcze w czym ta dllka byla pisana, bo naprzyklad stworzone stworzone pod dontNET framework sa kompilowane do intermediate language i tu sa juz mozliwosci dostania sie do kodu - m$ poszedl odziwo w strone open source, sprecyzuj o co Ci chodzi to moze bede w stanie pomoc Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin S Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 jest projekt, ktory oparty jest na uwierzytelnianiu i certyfikatach kolega mnie prosił, aby się zorientował jak dodać do dll podpis, który będzie weryfikowany przez odpoweidnie oprogramowanie po stronie klienta... pisane sa w c++builderze pod system win2k Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 z tego co wiem, nie ma czegos takiego jak uniwersalny certyfikat dla dll, nie ma jakiegos supportu dla takich funkcji ze strony m$, ale ja bym to zrobil tak, ze implementujac taka dllke, kazda publiczna metoda wymagalaby jakiegos rodzaju klucza, to bylby ten certyfikat, nie wiem jakie sa wymagania klienta co do tego projektu, musialbys podac wiecej danych, dalej nie wiem tez po co Ci ten certyfikat, czy chodzi o to zeby tylko uprawiony klient mogl uzywac dllki, czy moze jest to jakiegos rodzaju uwierzytelnianie danych? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin S Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 sam nie jestem na 100% pewny, bo dostałem takie hasło... zaszywamy u klienta klucz publiczny, który bedzie weryfikował dll'ki dostarczone jakąs drogą do niego. dll'ka jest to normalny dll, ale właśnie tak zmodyfikowany, że będzie informacja silnie poświadczająca o autentyczności biblioteki. nie pytaj mnie o więcej, bo sam niestety nie wiem. ja mam tylko ten kawałek projektu, bo się reszta nie wyrabia ;) całość to chyba coś podobnego do podpisywania kontrolki activeX, tylko że tutaj dostarczane byłyby dlle z tego co wyczytałem, a później zacząłem sprawdzać, to prawdopodobnie jest możliwe dodanie po prostu na sam koniec pliku (oczywiście powiększająć go) danych bez niszczenia funkcjonalności biblioteki. tym bardziej, że bajty odpoweidzielne za sumę kontrolną mogą być ustawione na 0 i będzie działało... na razie sprawdzałem to na dll do mirandy ;) więc możliwe było by obliczenia hasha, wygenerowanie podpisu i dodanie go na koniec pliku. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 z tego co wyczytałem, a później zacząłem sprawdzać, to prawdopodobnie jest możliwe dodanie po prostu na sam koniec pliku (oczywiście powiększająć go) danych bez niszczenia funkcjonalności biblioteki. tym bardziej, że bajty odpoweidzielne za sumę kontrolną mogą być ustawione na 0 i będzie działało... na razie sprawdzałem to na dll do mirandy ;) więc możliwe było by obliczenia hasha, wygenerowanie podpisu i dodanie go na koniec pliku. takie cos to bedzie fuszerka :] no ale jezeli to wystarczy to "its up to u", ja bym to zrobil, jak pisalem wczesniej, odpowiednio przygotowana dllka, ktora sprawdza klucz dostarczany przez klienta, gorzej jezeli klient musi wiedziec czy dllka jest "certyfikowana" zanim wywola jakakolwiek metode, wtedy to juz pozostaje chyba to co ty pisales, no albo jest jeszcze drugie wyjscie :) dllki pisane pod dotNET framework moga miec "strong name", czyli sa unikatowe - nie ma problemu dll hell :] wiec dllka ze strong name, ma juz wygenerowany unikatowy "public token", token ten jest generowany przy pomocy klucza, mozna miec wiele kluczy i wtedy token bedzie rozny dla roznych dllek, ale jezeli bedziesz korzystal z tego samego klucza do podpisywania dllek to token bedzie ten sam - inna bedzie za to wersja kompilacji w przypadku tych samych dllek, wiec mozna wtedy potraktowac ten token jako certyfikat, zakladamy sobie ze w obrebie tego projektu uzywamy jednego klucza, a klientowi musimy dostarczyc tylko nasz unikatowy token, i mamy certyfikowane dllki :] tyle ze ty pisales cos o builderze, wiec ten pomysl raczej sie nie sprawdzi, chyba ze mozecie zmienic srodowisko Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 25 Listopada 2004 Zgłoś Opublikowano 25 Listopada 2004 http://www.codeguru.com/Csharp/.NET/net_ge...icle.php/c4623/ w duzym skrocie o dllkach w dotNET, jezeli chcesz szczegoly to goto --> MSDN Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin S Opublikowano 26 Listopada 2004 Zgłoś Opublikowano 26 Listopada 2004 wielkie dzięki. zobaczymy co z tego wyjdzie ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...