enum – zabawy z dekompilatorem

Zastanawiałeś się co tak na prawdę kryje się pod nową (od 5.0) składnią enum w Javie?  Dlaczego enum nie może rozszerzać innej klasy? Przejrzenie zdekompilowanego kodu pozwoli zrozumieć wiele niuansów. Read more

Materiały do 4 Spotkania Śląskiej Grupy Użytkowników Technologii Java

Dnia 10.12.2008 na czwartym spotkaniu Silesia Java User Group prowadziłem prelekcję na temat kryptografii w Javie. Zaskoczyła mnie ilość pytań po prezentacji co uznaję za miarę zainteresowania.

Plan prezentacji: Read more

Tomcat – uwierzytelnianie klienta SSL przy pomocy certyfikatu

Jednym z najpewniejszych sposobów uwierzytelniania klienta w architekturze klient-serwer jest uwierzytelnianie za pomocą certyfikatu klienta podpisanego przez wystawcę znanego (zaufanego) na serwerze. Protokół SSL umożliwia zestawienie bezpiecznego połączenia z klientem i serwerem uwierzytelnionymi certyfikatem. Pokażę jak takie połączenie skonfigurować na serwerze Apache Tomcat i przy pomocy przeglądarki Mozilla Firefox. Read more

Kruczki przy użyciu typów zmiennoprzecinkowych

Zgadnij co wypisze poniższy fragment kodu:

                Set iSet = new HashSet();
                Set fSet = new HashSet();
                Set dSet = new HashSet();
		int start = Integer.MAX_VALUE - 10;
		int stop = Integer.MAX_VALUE;
		for (int i = start; i < stop; ++i) {
			iSet.add(i);
			fSet.add((float)i);
			dSet.add((double)i);
		}
		System.out.println(iSet.size());
		System.out.println(fSet.size());
		System.out.println(dSet.size());

Read more

Wystawca certyfikatów – CA w OpenSSL

Infrastruktura PKI jest bardzo ważnym elementem systemów bezpieczeństwa. Szczególne znaczenie ma w Internecie. Certyfikaty dla stron WWW powinny być podpisane przez wystawców, których certyfikaty są zaufane w popularnych przeglądarkach internetowych. Niemniej jednak taki certyfikat kosztuje i do celów testowych dobrze jest stworzyć własne CA. Może ono też posłużyć w niewielkiej infrastrukturze PKI nie związanej z Internetem. W tym poście pokażę jak stworzyć własne CA przy pomocy OpenSSL, oraz podpisać nim certyfikaty. Read more

Zmienne wyniki porównań java.net.URL

Zgadnij co wypisze na konsolę taki fragment kodu:

public static void main(String a[]) throws MalformedURLException {
java.net.URL url1 = new java.net.URL("http://o2.pl");
java.net.URL url2 = new java.net.URL("http://tlen.pl");
System.out.println(url1.equals(url2));
}

Zabawne, ale nie będzie to za każdym razem to samo co łamie założenia metody equals. Read more

Zaciemnione hasła w plikach konfiguracyjnych Websphere Application Server

Ostatnio musiałem ręcznie edytować pliki konfiguracyjne Websphere Application Server. Chodziło konkretnie o security.xml dla serwera. Chciałem podmienić keystore z certyfikatem serwera ponieważ został wgrany wadliwy certyfikat i nawet konsola administracyjna nie działała. Żeby to zrobić trzeba wpisać hasło do keystore. Nie jest to jednak taka prosta sprawa – hasła w security.xml są pozaciemniane. Read more

Polskie znaczki na Java console

Wypisywanie polskich znaków (przy pomocy System.out) z programu napisanego w Javie uruchomionego z wiersza poleceń może przyprawić trochę kłopotów. Za globalne ustawienia domyślnego kodowania znaków odpowiada własność systemowa file.encoding ale ustawianie jej podczas działania programu nie wpływa na konsolę. Read more

Java console na i5/OS (iSeries czyli AS/400)

Miałem ostatnio styczność z serwerami iSeries. Serwery iSeries są średnimi serwerami firmy IBM opartymi obecnie na procesorach POWER™. Kiedyś (od 1988 roku) linia ta nazywała się AS400 i do dzisiaj często ta nazwa jest używana jako synonim. Pełna nazwa tej linii to IBM System i. Litera i w nazwie pochodzi od integration. Pracują przeważnie pod kontrolą systemu i5/OS. Serwery te ze względu na wysoki poziom bezpieczeństwa i niezawodności są często stosowane przez instytucje finansowe.

Przedstawię tutaj uruchamianie konsolowych programów Javy w trybie interaktywnym. Jest to dosyć ciekawe bo ten system operacyjny nie jest podobny ani do Windowsa ani do UNIXa. Plik class utworzyłem i skompilowałem po stronie serwera po to, żeby pokazać przykład użycia podstawowych komend systemu (celowo starałem się nie używać unixopodobnego shella QSH). Read more

Google hack na home.pl

Swego czasu redaktorzy portalu hack.pl znaleźli lukę polegającą na tym, że metodą http brute force można było dostać się do stron statystyk serwisów korzystających z serwerów home.pl Zrobiła się z tego niemała awantura. Nawet była sprawa w prokuraturze bo włamali się przy jej pomocy na stronkę MEN. Tutaj jest opis całej historii wraz z sposobem wykorzystania luki: krytyczna luka w home.pl

Obserwowałem te relacje uważnie zwłaszcza, że wtedy miałem konto na home.pl. “Zabezpieczenie” luki przez home.pl jest żenujące. Zmienili adresy z statsXXX na statsMD5. Najprawdopodobniej niby losowy ciąg jest sumą MD5 z jakiś danych użytkownika i być może poprzedniego xxx (z czego nie udało mi się jeszcze ustalić, ale może
jest to do ustalenia). Czyli na przykład statsff7d26270065e8a3c0d3e2a11face882.
Ale problem jak takie urle znaleźć. Sposób jest banalny. Read more

« Previous PageNext Page »