wtorek, 25 lutego 2014

JAVA: "failed to validate certificate. the application will not be executed"

Wszyscy "kochają" JAVĘ... a od kiedy to Oracle przejął ją od SUN'a to co rusz mamy nowe problemy.

Tym razem padło na jre7u51 - czyli na tę chwilę najnowsza wersja (miałem to już w poprzednich wersjach, ale nie bolało. Teraz sprawa zrobiła się nagląca).

Sam nie wiem co mnie podkusiło do aktualizacji. Być może konieczność każdorazowego odkładania aktualizacji przy wchodzeniu na kolejne urządzenie spod marki IBM. Historycznie IBM mocno "współpracował" z SUN'em i dlatego 99% produktów tego giganta oparte jest o to ustrojstwo.

Ale do rzeczy...

Łączę się przykładowo z aplikacją webową do zarządzania przełącznikiem SAN. Wiadomo - adresik i przekierowanie na EZSwitch, pobranie apletu... i bum


Taka to niespodzianka...

Ale to nam nie straszne... sądząc, że to prościzna wchodzę do Java Control Panel (cmd: javaws -viewer), przechodzę na zakładkę "Security" i dodaję adres przełącznika do listy wyjątków (swoją drogą security level juz mam na najniższym poziomie - czyli Medium (jaką to ciekawą skalę ma Oracle!).

Kolejna próba i to samo... klikamy szczegóły a tam szum javy:


Ale rzuca mi się CertPathValidator i jakieś PKIX path validation... tylko gdzie tego szukać, bo w GUI nie ma... Może to coś ukrytego związanego z opcja dotyczącą certyfikatów (validacja OCSP?).

No to znowu Java Control Panel, zakładka "Advanced" i wyłączamy opcję onlinowego weryfikowania certyfikatów (czyli zaznaczamy w "Perform certificate revocation checks on" opcję "Don't not check (not recommended)".

Przy okazji notujemy w pamięci, że to menu zmienia się co druga wersję Javy bo kiedyś jeszcze było coś jak "Allow user to grant permissions to content from an untrusted authority" co chyba załatwiłoby nasz problem... ale terazjuż tego nie ma... zonk!

Kolejny test i to samo... buuu... jak ja się dostanę do tego przełącznika... (jest ssh, ale ja chce obrazki pooglądać!)

Jesteśmy twardzi - walka trwa dalej... google nasz pan - każe nam:
1. usunąć zawartość cache - włącznie z aplikacjami, resource;ami itp
2. usunąć trusted.certs z katalogu javy i profilu usera
--- nic co by działało...

Ale chwila... bawiąc się z tymi plikami trafiamy na coś co się nazywa java.security (w katalogu Javy w podkatalogach: "jre/lib/security/java.security").

To może być plik z ustawieniami z JCP, a jak wiadomo GUI czasami potrafi coś ukrywać... no to otwieramy znowu siano (ale to wina notatnika).
No to jedziemy czymś sensowniejszym i czytamy (zaznaczyłem co ciekawsze):

# Algorithm restrictions for certification path (CertPath) processing
#
# In some environments, certain algorithms or key lengths may be undesirable
# for certification path building and validation.  For example, "MD2" is
# generally no longer considered to be a secure hash algorithm.  This section
# describes the mechanism for disabling algorithms based on algorithm name
# and/or key length.  This includes algorithms used in certificates, as well
# as revocation information such as CRLs and signed OCSP Responses.
#
# The syntax of the disabled algorithm string is described as this Java
# BNF-style:
#   DisabledAlgorithms:
#       " DisabledAlgorithm { , DisabledAlgorithm } "
#
#   DisabledAlgorithm:
#       AlgorithmName [Constraint]
#
#   AlgorithmName:
#       (see below)
#
#   Constraint:
#       KeySizeConstraint
#
#   KeySizeConstraint:
#       keySize Operator DecimalInteger
#
#   Operator:
#       <= | < | == | != | >= | >
#
#   DecimalInteger:
#       DecimalDigits
#
#   DecimalDigits:
#       DecimalDigit {DecimalDigit}
#
#   DecimalDigit: one of
#       1 2 3 4 5 6 7 8 9 0
#
# The "AlgorithmName" is the standard algorithm name of the disabled
# algorithm. See "Java Cryptography Architecture Standard Algorithm Name
# Documentation" for information about Standard Algorithm Names.  Matching
# is performed using a case-insensitive sub-element matching rule.  (For
# example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and
# "ECDSA" for signatures.)  If the assertion "AlgorithmName" is a
# sub-element of the certificate algorithm name, the algorithm will be
# rejected during certification path building and validation.  For example,
# the assertion algorithm name "DSA" will disable all certificate algorithms
# that rely on DSA, such as NONEwithDSA, SHA1withDSA.  However, the assertion
# will not disable algorithms related to "ECDSA".
#
# A "Constraint" provides further guidance for the algorithm being specified.
# The "KeySizeConstraint" requires a key of a valid size range if the
# "AlgorithmName" is of a key algorithm.  The "DecimalInteger" indicates the
# key size specified in number of bits.  For example, "RSA keySize <= 1024"
# indicates that any RSA key with key size less than or equal to 1024 bits
# should be disabled, and "RSA keySize < 1024, RSA keySize > 2048" indicates
# that any RSA key with key size less than 1024 or greater than 2048 should
# be disabled. Note that the "KeySizeConstraint" only makes sense to key
# algorithms.
#
# Note: This property is currently used by Oracle's PKIX implementation. It
# is not guaranteed to be examined and used by other implementations.
#
# Example:
#   jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
#
#
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

No i mamy w jednym miejscu naszego PKIX i CertPathValidator z tego "szumu" ze szczegółów błędu.

Wracamy do błędu i widać jeszcze "algorithm constraints check failed" i sprawa staje się jasna, bo patrząc co to robi... blokuje MD2 i RSA mniejsze niż 1024bity. 
Hmm...
a jakby tu coś... hmm... no to zmieniamy 1024 na 512 i zapisujemy pliczek.
Restart przeglądarki i ... oooo... działa...

Swoją drogą notka drogiego Oracle'a też jest fajna: "It is not guaranteed to be examined and used by other implementations.". Cóż za treściwe uprzedzenie...

Hurra... mogę teraz mieszać w SAN'ie

sobota, 27 lutego 2010

Cisco VPN Client i Windows Vista/7 64bit

Jakiś czas temu, po przesiadce na 64-bitową wersję Windows 7 Enterprise z przykrością stwierdziłem, że Cisco VPN Client nie działa na tej wersji systemu. na stronie produktu Cisco podano, że obsługiwane są tylko platformy XP, Vista (x86/32-bit), Windows 7 (x86/32-bit); Windows x64 (64-bit), który wymaga Cisco AnyConnect VPN Client.

Przekleństwa jak gromy padały na Cisco za taki stan rzeczy, ale przez długi czas (bo przecież od czasów Visty x64) niczym konkretnym to nie skutkowało.

Zmuszony byłem poszukać rozwiązania zastępczego.

Oto kilka wariantów rozwiązania, które stosowałem:
Szczerze mówiąc pierwszy wariant odpadł ze względu na koszty.
Drugi wariant funkcjonował przez kilkanaście dni, ale odpadł ze względu na uciążliwość użycia.

Najdłużej korzystałem z rozwiązania trzeciego - do ostatniego tygodnia.

Dobra wiadomość z forum wsparcia Cisco:
"Due to popular demand, the Cisco VPN Client v5.0.7 open beta is now available!
In addition to serving as a general maintenance release, the Cisco VPN Client 5.0.7 beta is compatible with Windows 7 & Windows Vista 64-bit environments.
A 64-bit specific compatible image is available for installation on these platforms."
Tak więc zapraszam wszystkich chętnych do pobrania Cisco VPN Client 5.0.7 Beta, która w końcu działa! (oczywiście wymagany jest login do strefy zamkniętej Cisco)

Wersja stabilna powinna pojawić się w ciągu kilku tygodni.

poniedziałek, 8 lutego 2010

Ważność licencji usługi Office Server Search wygasła

Z samego rana czekała mnie niemiła niespodzianka - próba korzystania z zaawansowanych funkcji poralu intranetowego (takich jak wyszukiwarka) daje następujący efekt:
"Ważność licencji usługi Office Server Search wygasła"
Poniedziałkowe poranki bywają trudne, ale okazało się, że takie zachowanie to nic nowego.

Odpowiedź na pytanie "Dlaczego tak się dzieje" znajduje się na stronie Microsfotwu w Bazie Wiedzy pod tytułem "Po zainstalowaniu dodatku Service Pack 2 dla produktów serwerowych pakietu Microsoft Office 2007 data wygaśnięcia licencji jest nieprawidłowo aktywowana".
Prawda że bardzo wymowne?

W sumie wszystko się zgadza... Tak na oko stwierdzając to ostatnia reinstalacja naszego MOSS'a odbyła się jakieś pół roku temu (około 180 dni), a że wszystko działało - to nikt nie zaglądał na ekran Administracji Centralnej pokazujący informacje o licencji - bo i po co?

Przytoczony powyżej artykuł bazy wiedzy zaleca instalację aktualizacji, ale chyba lepiej (i pewnie szybciej) jest skorzystać z ręcznego rozwiązania jakim jest powtórne wpisanie licencji:

  1. Należy uruchomić Administracja centralna programu SharePoint 3.0.
  2. Kliknąć kartę Operacje.
  3. Kliknąć Konwertuj typ licencji w sekcji Uaktualnienia i migracja.
  4. W okienku wprowadć klucz produknu należy wpisać numer naszej licencji (Standard lub Enterprise) i kliknąć OK.
  5. Po chwili na stronie konwersji typu licencji zostanie wyświetlona prawidłowa licencja.
  6. Aby wszystko działało od ręki należy zrestartować usługi wykonując z wiersza poleceń komendę  iisreset.

Teraz wystarczy przetestować - najprościej skorzystać z wyszukiwarki na portalu.
Poranek kolejnego poniedziałku mamy za sobą - i chciałoby się powiedzieć "Nie lubię poniedziałków", ale w końcu zawsze zwiastują coś nowego. Na szczęście ten problem nie był poważny.

piątek, 29 stycznia 2010

Raporty użycia w MOSS 2007

Podsumowania użycia witryny są niezwykle pomocne przy wszelkiego rodzaju raportach czy kontrolach. W łatwy sposób można pokazać jak wygląda wykorzystanie portalu czy konkretnych witryn.

Konfiguracja i użycie jest niezwykle proste - nie mam co do tego żadnej watpliwości, ale zawsze muszę się chwilę zastanowić gdzie nalezy włączyć odpowiednie usługi.

Po instalacji MOSS'a, kiedy chcemy wyświetlić "Raporty dotyczące użycia witryny" lub "Raporty dotyczące użycia zbioru witryn" możemy otrzymać taki oto komunikat:
"Aby możliwe było wyświetlanie raportów użycia, musi być włączona zarówno usługa rejestrowania użycia programu Windows SharePoint Services, jak i usługa przetwarzania użycia programu Office SharePoint. Skontaktuj się z administratorem, aby upewnić się, że te usługi sa włączone."
Dla mnie jest on dość zagadkowy. Bo gdzie szukać tych usług?
A już najwiekszym przegięciem jest to, że nazywają się one inaczej.

Usługa przetwarzania użycia - to Przetwarzanie analizy użycia dostępne na w Administracji Centralnej w menu "Operacje" w bloku "Rejestrowanie i raportowanie".

Należy zanzaczyć opcję "Włącz logowanie" i podać lokalizację, gdzie mają być składowane logi.
Ponadto należy włączyć opcję "Przetwarzanie analizy użycia" i podać przedział godzinowy, kiedy ta operacja ma być wykonywana - najlepiej w czasie najmniejszego obciążenia. Trzeba tu zwrócić uwagę, żeby przedział czasowy był odpowiednio długi, bo usługa musi zdążyć przetworzyć nasze logi.

Usługa rejestrowania użycia  - to Raportowanie użycia dostępne w Administracji usług udostępnionych, w bloku "Raportowanie użycia programu Office SharePoint".


Należy tam zaznaczyć opcję "Włącz przetwarzanie zaawansowanej analizy użycia" (a warto też upewnić się, że włączona jest opcja "Włącz funkcję rejestrowania kwerend wyszukujących").

Teraz z poziomu adminsitracji witryny lub kolekcji witryn będziemy mieli dostęp do raportów użycia naszej witryny:


Wspomniane "Rejestrowania kwerend wyszukujących" służy do raportów kwerend usługi wyszukiwania. Dostępne jest w Administracji usług udostępnionych, w bloku "Wyszukiwanie" jako Wyszukaj raporty użycia.

Generowane raporty dają możliwość prześledzenia pracy wyszukiwarki i aspektów jej działania takich jak witryny, w których wykonywano najczęściej używane kwerendy czy najczęściej używane kwerendy.


Zdaję sobie sprawę, że kwestie te nie są odkrywcze, a kwestia konfiguracji niezwykle prosta. Szkoda tylko, że niektóre błędy dotyczące konkretnych funkcjonalności nie wskazują jednoznacznie gdzie szukać rozwiązania, tylko pozostawiają pole na domysły, które zajmują czas. A czasami przecież czas jest bardzo ważny.

poniedziałek, 18 stycznia 2010

Odświeżanie biblioteki multimediów w telefonach Nokia

Od niedawna posiadam telefon komórkowy Nokia XpressMusic 5530, a że czasami lubię sobie posłuchać muzyki albo jakiegoś audiobooka (najczęściej Stephena Kinga), to dość szybko znalazłem mały błąd dotyczący odświeżania biblioteki multimediów. Opisany tu problem dotyczy też innych telefonów Nokia z systemem Symbian.

Oprogramowanie telefonu wymaga, aby po wgraniu do pamięci (na przykład karty) plików multimedialnym (mp3, video itp), odświeżyć bibliotekę multimediów. W przypadku plików mp3 zczytywane są wszystkie informacje o utworach (IDTag) i budowana jest baza, która pozwala później poruszać się w bibliotece wybierając sortowanie po albumach, wykonawcach czy gatunkach.

Błąd polega na tym, że po skasowaniu plików z telefonu (na przykład domyślnych mp3) i odświeżeniu biblioteki, nadal pozostają albumy, do których przypisane były skasowane utwory. I nijak nie można się ich pozbyć z poziomu telefonu.

Sprawę rozwiązuje ręczne wykasowanie kilku folderów prywatnych. Należy podłaczyć telefon do komputera w trybie "pamięć masowa" i skasować zawartość następujących folderów:

\private\101FFC31\
\private\101f8857\Cache\E\
\private\101ffca9\
\private\10281e17\

W ostatnim folderze zwykle są 4 pliki - 2 dotyczą plików mp3, a kolejne 2 podcastów. Należy pozbyć się przynajmniej plików mpxv2_2.db i mpxv2_2.db-journal (dla plików mp3).

Teraz wystarczy odłączyć telefon od komputera i odświezyć bibliotekę multimediów.

Jeśli macie problem z wyświetleniem zawartości folderów prywatnych na karcie pamięci, w komputerze należy włączyć wyświetlanie ukrytych plików.

sobota, 19 grudnia 2009

Analizy odwiedzin bloggera (Google Analytics)

Tworząc bloga warto pokusić się o zapewnienie sobie możliwości śledzenia ilości odwiedzin i charakterystyk użytkowników. Od jakiegoś czasu jednym z najciekawszych, a na dostatek w pełni darmowych, rozwiązań jest Google Analytics. System ten jest dostepny dla każdego i w łatwy sposób można korzystać z niego aby analizować użycie swojego bloga.

Na początek musimy zarejestrować się na Google Analytics. Jeśli mamy już bloggera, to praktycznie nie nastręcza to problemów - w końcu to też Google.

Podajemy swoje dane kontaktowe.


Następnie tworzymy nowy profil analityczny dla naszej strony.




Podajemy adres http do naszego bloga i wciskamy zakończ.

W kolejnym oknie otrzymujemy fragment kodu, który musimy wkleić w szblonie HTML naszego bloga.

Dla bezpieczeństwa wykonujemy kopię zapasową naszego kodu HTML: "Układ" -> "Edytuj kod HTML", zaznaczamy "ptaszek" przy "Rozszerz szablony widżetów" i wybieramy "pobierz pełny szablon". Zapisujemy plik na dysku komputera.

W oknie kodu HTML schodzimy na sam dół i tuż przed znacznikiem
</body>
wklejamy kod wygenereowany przez Google Analytics.

Teraz musimy odczekac kilka minut.

Wracamy do witryny google analytics i wyświetlamy nasz profil. Adres naszego bloga powinien już być zarejestrowany. aby zweryfikować, że kod "się przyjął" klikamy "Edytuj" z prawej strony.

Na następnej stronie mamy raport dla danej subskrybcji analizy.

Klikamy "Sprawdź status" i powinniśmy otrzymać informację "Oczekiwanie na dane" lub "Odbieranie danych". (W razie potrzeby mamy tu tez dostęp do poprawnego kodu jaki wklejaliśmy do naszego szablonu).

W przypadku błędu trzeba sprawdzić czy nie pomyliliśmy się w adresie naszej strony i czy poprawnie wkleiliśmy kod do naszego szablonu.

Raporty będą dla nas dostępne już następnego dnia z poziomu profilu Google Analytics. Wystarczy kliknąć "Wyświetl raport".


sobota, 12 grudnia 2009

Poziome menu w nagłówku bloggera

Często chcemy dodać pasek menu na górze strony, czyli w nagłówku (pod lub nad bannerem).
W standardowych szablonach bloggera nie ma takiej możliwości, ale można osiągnąć taki efekt bawiąc się trochę kodem szablonu bloga dostępnym w ustawieniach, w opcji "Edytuj kod HTML".

W tym przykładzie będę pracował na szablonie "Minima Black", ale dla innych szablonów rodzaj wprowadzanych modyfikacji i sam sposób jest analogiczny. Naszym celem jest umożliwienie dodania kolejnych widżetów do nagłówka (tam gdzie znajduje się tytuł bloga i/lub banner).

Na początek wykonujemy kopię zapasową naszego kodu HTML: "Układ" -> "Edytuj kod HTML", zaznaczamy "ptaszek" przy "Rozszerz szablony widżetów" i wybieramy "pobierz pełny szablon". Zapisujemy plik na dysku komputera.

Musimy odnaleźć następujący fragment kodu:
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
W tym kodzie istotne są dwa parametry:
maxwidgets - który określa maksymalną ilość widżetów w danym oknie,
showaddelement - który okresla, czy jest widoczny skrót umozliwiający dodanie nowego widżeta.

Modyfikujemy tę sekcje w następujący sposób:
<b:section class='header' id='header' maxwidgets='2' showaddelement='yes'>
Dzięki temu będziemy mogli dodać jeszcze jeden widżet.

Kolejną modyfikacja powinno być swtorzenie odpowiedniego stylu prezentacji danych (linków) wyliczeniowych w elemencie nagłówka (header). w tym celu musimy dodać definicję odpowiedniego stylu. Na przykład takiego:
#header ul li {
display: inline;
padding: 0 5px;
}
Styl ten należy wkleić w sekcji zawierajacej definicje styli CSS w kodzie HTML tuż przed nastepującym wpisem:
]]></b:skin>
</head>
Teraz otwieramy "Układ" -> "Elementy strony" i widzimy, że w nagłówku możemy dodać widżet.
Możemy dodać na przykład widżet "Lista linków", za pomocą, którego podłączamy nasze statyczne strony bloggera.

(opis tworzenia statycznych stron na bloggerze znajduje się w serii wpisów: "Statyczne strony w bloggerze (cz.1, cz.2, cz. 3)"