piątek, maja 09, 2008

Ciekawostki webowe

  1. Portal związany z CSharpem - http://www.c-sharpcorner.com
  2. IBM Developer Works -Testowanie aplikacji webowych
    1. Tamże - Przyszłość PHP. Linki do PHP:
  3. Rozdano nagrody Web2 - jeden z laureatów: http://www.ted.com/talks/view/id/194
  4. , niewidocznych technologii:
    1. Unicode - pierwszy raz zastosowano w WIndows NT
    2. Digital singal processing (DSP) - mp3, dvd, cd
    3. Managed code - kod zarządzalny (Java i MS)
    4. Tranzystory - niedługo Intel obiecuje układ scalony (2 mld bramek, 1 T zajmuje 100 atomów)
    5. XML - spopularyzował na szeroką skalę pakiet MS office 2007
    6. NonVolatile RAM - pamięci nieulotne np. w MP3 player
    7. Baterie litowo-jonowe (mniejsze, pojemniejsze i lżejsze niż ołowiowe)
    8. VoIP - rozmowy przez Internet
    9. Akceleratory graficzne (GPU-graphics processing unit) - pod względem mocy oblicz. nie ustępują CPU szczególnie wobliczeniach zmiennoprzecinkowych
    10. Szerokopasmowy dostęp do Internetu - początkowo do video on demand, teraz do wszystkiego (cable lub DSL - digital subscriber line)
  5. SUN - odpowiedzią na RIA (Air, Silverlight) jest JavaFX

sobota, maja 03, 2008

Znowu piszę sobie:

Świetny artykuł na zdnet-cie: o istocie architektury klient - serwer. Po raz pierwszy wymyślił to pojęcie IBM w 1968 i polegał na zbudowaniu potężnej maszyny (mainframe) zawierającej bazy danych (do przechowywanie jej jedynie) i otoczony satelitami - małymi stacjami roboczymi przetwarzającymi dane pobrane z serwera (a więc klient przetwarza - serwer przechowuje). Etapy rozwoju były różne ale zawsze wystepowały dwie strony serwer i klient:

  1. Pierwszą taką realizacją był System 38 oraz System 51xx. Weryfikacja w życiu tej koncepcji okazała się okrutna. Zabrakło narzędzi do serializacji danych zmienianych przez wielu użytkowników naraz. Próbowano ratować sytuacje poprzez blokowanie dostępu przez innych do informacji raz pobranej przez jednego z klientów ale to pogorszyło jeszcze sprawę z uwagi na często występujace blokady oraz opóźnienia w dostepie (zwane później pessimistic buffering).
  2. Dlatego wkrótce IBM przesunął punkt cieżkosci na serwer poprzez instalację na nim interpretera RPG II a klientów sprowadził do roli prostych terminali. Codd był pierwszym (10 lat wczesniej), który zaproponował spojrzenie na aplikacje jako interfejs do danych - "Simple model: business applications are user interfaces to business data". Tak nawiasem mówiąc Codd wymyślił relacyjny model nie dlatego, że były problemy z przechowywanie i dostępem fizycznym do danych (baza IMS oraz pliki w COBOL-u świetnie sobie z tym radziły) ale z ujednoliceniem tego dostępu i wyższym poziomem abstrakcji przy manipulowaniu danymi w bazie. Znaczenie pracy Codd polegało na zmuszeniu dowolnej aplikacji do posługiwania się tym samym interfejsem do danych w bazie. Temu zagadnieniu służy wstępna zasada (zerowa) modelu relacyjnego: dostęp do danych wyłącznie przez współdzielony manager bazy danych. Zaowocowało to pojawieniem się w lipcu 1979 i później dużym sukcesem Systemu 38 wykorzystującym RPG/SystemR/ - w tym projekcie wniósł duży wkład Chen. Było to jakieś rozwiązanie ale przyszły nowe czasy.
  3. Era PC-tów polegała na większej roli klienta. Dane na centralnym serwerze były zmieniane poprzez procedury wbudowane pracujące na bazie serwerowej. Tutaj tez dochodziło do konfliktów ale później na etapie aktualizacji a nie pobierania danych (optimistc blocking). Ale - przeczyło to idei K/S, ze dane były zmieniane u klienta a przechowywane na serwerze

Ten sam problem i rozwój miał miejsce z pojawieniem się Internetu. Początkowo serwer podawał HTML jako porcje informacji w stylu ReadOnly czyli tylko do czytania. Ale wkrótce ludzie wymyślili formularze i zaczęli odsyłać dane do serwera. I znowu pojawił się problem - twrórcy aplikacji znowu nie wiedzieli co się dzieje po stronie klienta. Jest to tzw. "ajaxulation" problem - interakcja pomiędzy lokalnie przechowywanymi danymi w postaci ciasteczek, lokalnie przetwarzanymi skryptami w JS oraz danymi po stronie serwera. Problem łatwego sposobu oszukiwnia serwera co się naprawdę dzieje po stronie klienta. Może to doprowadzić do szeregu poważnych nadużyć.

środa, kwietnia 16, 2008

Przemyślenia:
  1. Po co się męczyć na serwerze i obciążać go niepotrzebną praca skoro każdy klient może sobie zainstalowac PDF creatora lub Primo PDF-a i tworzyć lokalnie dokumenty w PDF (ten pierwszy ma nawet kontrolkę ActiveX fly2pdf do wbudowania tego procesu w programy)

niedziela, kwietnia 06, 2008

Niedziela (pracowita):
  1. Narzędzia dla deweloperów - http://techmagazine.ws/web-developer-toolbox/
  2. Lista linków do API społecznosciowych - http://techmagazine.ws/online-generators/
  3. Tego samego autora:
  4. Starocie z marca:1. http://www.javapassion.com/
    2. http://www.devx.com/xml/Article/28701/0/page/4
    3. http://www.devx.com/getHelpOn/Door/10677
    4. http://java.sun.com/javase/technologies/security/
    5. http://java.sun.com/javase/6/docs/technotes/guides/security/certpath/CertPathProgGuide.html#AppC
    6. http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html
    inebration -
    binge - an occasion for excessive eating or drinking
    sanctimony - a) Feigned piety or righteousness; hypocritical devoutness or high-mindedness, b) A show or expression of feelings or beliefs one does not actually hold or possess: hypocrisy, pharisaism, phoniness, sanctimoniousness, tartuffery, two-facedness. See honest/dishonest.
    7. http://lifehacker.com/371636/turn-your-pc-into-a-dvd-ripping-monster
    8. http://speckyboy.com/2008/03/28/top-12-css-frameworks-and-how-to-understand-them/
    9. http://www.devx.com/getHelpOn/10MinuteSolution/20430 - kompiluj Java przez Gcj
    10. http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/
    Typowe podejscie do danych szyfrowania:
    http://www.devx.com/xml/Article/28701/0/page/3
    =======================================
    byte[] data = "A simple string".getBytes();
    cipher.init(Cipher.ENCRYPT_MODE, key);
    byte[] encryptedBytes = cipher.doFinal(data);
    =======================================
    Managing XML encrypton with Java:
    http://www.devx.com/xml/Article/28701/0/page/1
    http://www.javapassion.com/
    Http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html
    ========================================
    Biblioteka do realizacji SSL http://www.kennethballard.com/Projects/HttpClient/readme-java.html
    SSL proxy - http://www.codeproject.com/KB/java/socksproxy.aspx
    JSSE - http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html
    JScape (platny) - http://www.jscape.com/tutorials.html
    VFP uzywanie siatki danych - http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2972571&SiteID=1
    XML signature w Java - http://javaboutique.internet.com/tutorials/signature/
    Glassfish (marekcoig/Trava16) - http://blogs.sun.com/theaquarium/tags/scripting
    Podpis XML - http://www.aleksey.com/xmlsec/api/xmlsec-examples-sign-template-file.html#XMLSEC-EXAMPLE-SIGN1
    Oficjalny podpis - https://xwss.dev.java.net/source/browse/*checkout*/xwss/xwss-ri/docs/secure_conversation_with_wsit.html#rev1.1
    Oferta Szafir z biblioteką - http://www.kir.com.pl/main.php?p=7084
    Problem - odszyfrowanie danych w .NET zaszyfrowanych w VB 6 - http://www.derkeiler.com/Newsgroups/microsoft.public.dotnet.security/2006-11/msg00057.html
    Autentykacja - http://www.derkeiler.com/Newsgroups/microsoft.public.dotnet.security/2006-11/msg00056.html
    CAPICOM w .NET - http://www.mcse.ms/archive/index.php/t-505180.html
    Ajax for Forms - http://www.ibm.com/developerworks/xml/library/x-ajaxxml9/?S_TACT=105AGX54&S_CMP=B0125&ca=dnw-903
    .NET and Certificate stores - http://www.jensign.com/JavaScience/CapiCert/
    Tutorial w Java - http://home.cogeco.ca/~ve3ll/jatutor7.htm
    Super Java - http://java.net/
    Java i SSL - http://www.javaworld.com/javaforums/showflat.php?Number=7012&page=3
    CAPICOM w C# - http://www.dotnet247.com/247reference/msgs/27/136569.aspx
    Biblioteka do podpisu XMLSec - http://www.aleksey.com/xmlsec/api/xmlsec-examples.html
    Podstawy SOA - http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html
    JavaBoutique - http://javaboutique.internet.com/
    DEVX - www.devx.com
    Manipulacje nad danycmi binarnymi - http://www.dotnet247.com/247reference/articles/0/1536.aspx
    Przegląd namespaces - http://www.dotnet247.com/247reference/namespaces.aspx
    GWT i odnosniki - http://www.regdeveloper.co.uk/2007/12/07/google_gwt_performance/
    Dostawcy w SUN - http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html#SUNProvider
    Ciekawe z forum - http://forums.devx.com/showthread.php?threadid=167172
    Bezpieczenstwo w MS - http://blogs.msdn.com/sdl/archive/2008/02/28/sdl-and-web-2-0.aspx
    Atak - http://blogs.msdn.com/david_leblanc/archive/2008/02/20/dll-preloading-attacks.aspx
  5. Nowości z kwietnia:

wtorek, marca 11, 2008

SUN
Technologie użyte w rozwiązaniu WebSigner Applet - http://rcardon.free.fr/websign/wakka.php?wiki=MainPage:
  1. http://www.keyon.ch/en/Produkte/JavaJCE/JACAPI/index.htm - płatne (kontakt)
  2. http://pheox.com/products/jcapi/ - płatne (1700 Eu)
  3. Dokumentacja do implementacji podpisu przez SUN - http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#SSLTLS
Pobieranie stron HTTP:
  1. http://hc.apache.org/httpclient-3.x/tutorial.html
  2. http://www.innovation.ch/java/HTTPClient/getting_started.html
  3. http://java.sun.com/developer/onlineTraining/
  4. http://rcardon.free.fr/
Szkolenia inne:
  1. http://java.sun.com/developer/onlineTraining/tools/ - UML
  2. Bezpieczeństwo - http://java.sun.com/developer/onlineTraining/Security/
  3. Rozbiegówka - http://java.sun.com/docs/books/tutorial/security/TOC.html
  4. http://java.sun.com/developer/onlineTraining/Security/Fundamentals/Security.html#secSignIE
  5. Nowa wersja - http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#SSLTLS
  6. http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html#Step61
  7. http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider - dostęp do CAPI
  8. Architektura dostawcy - http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html#ProviderArch
  9. Forum msdn - http://forums.microsoft.com/msdn/default.aspx?siteid=1
  10. Ciekawy post - http://www.javaworld.com/javaforums/showflat.php?Cat=2&Number=39181&an=0&page=3
  11. Hi everyone:
    Im using the SunPKCS11 in my Applet application in order to interact with smart card to sign data
    The SunPKCS11 needs as parameter in its constructor a library (".dll in case of windows" or ".so in case of linux"). That´s ok and it´s working fine!
    Im using the dll from the vendor of the smart-card (aetpkss1.dll)

    1- First question: For each kind of reader / smart-card, do i need to specify a diferent library (.dll / .so) ? Is there a generic dll ? How do i know the name of dll installed at the user´s machine ?

    I have been testing CAPICOM too. Everybody knows CAPICOM (Written in VB) interacts with the Windows CryptoAPI (Written in C).
    I have an application working with CAPICOM (at Internet Explorer) to sign data. The application can sign using certificates stored at Smart-Card. However CAPICOM never asked me for a dll or something like that, why ?

    2 - Second question: Does CAPICOM or CryptoAPI knows where is the location of the dll and do it automatically ? or the CAPICOM / CryptoAPI can interact with the smart-card directly ?
  12. Inny - I'm trying to execute a Post request using HTTPS. To achieve that I'm using commons-httpclient v.3.0rc1 and a custom SSLSocketProtocolSocketFactory that can work with untrusted self-signed certificates.
  13. Podpis wykorzystujący CAPI i C++: http://www.codeproject.com/KB/asp/adrian_bacaianu.aspx

poniedziałek, marca 10, 2008

Ciekawostki:
  1. Grisoft wykupił ELP znane ze swego http://reviews.cnet.com/internet-security-and-firewall/linkscanner-pro/4505-3667_7-32329266.html?tag=nefdprod.rev
  2. Inny produkt - Finjan Secure Browsing - http://reviews.cnet.com/internet-security-and-firewall/finjan-securebrowsing/4505-3667_7-32328301.html?tag=prod.txt.1
  3. Powyższe informacje pochodzą z http://www.webware.com/8300-1_109-2.html
  4. SUN interesuje się j. dynamicznymi, po udanej implementacji JRuby, firma próbuje tego samego z JPython. Dlatego zaprosiła do siebie do współpracy dwóch informatyków zajmujących się JPythonem.
  5. http://www.truecrypt.org/
E-faktura atakuje
  1. TP SA proponuje e-fakturę
  2. Sigillum udostępnia aplikacje do:
    1. weryfikacji (darmowa) podpisu pod dokumentem, format: PKCS#7, CMS, Xades
    2. podpisywanie e-dokumentów Sign Pro (wyłącznie swoim klientom)
    3. tenże udostępnia (wyłącznie swoim klientom) aplikacje do weryfikacji dokumentów (pod Linuxem również)
  3. Sigillum oświadczenie o zaprzestaniu wsparcia: W związku z zaprzestaniem od 15 lipca 2006 rozwijania i oferowania wsparcia technicznego przez Microsoft dla systemów Windows 98, Windows 98 SE, Windows Millennium, Windows XP SP1 od 1 stycznia 2007 Sigillum nie oferuje wsparcia technicznego dla rozwiązań PKI opartych na tych systemach.
  4. Sigillum a E-faktura:
    • W nowoczesnym przedsiębiorstwie obieg dokumentów papierowych generuje niepotrzebne koszty i zabiera czas. Rozporządzenie Ministra Finansów z dnia 14 lipca 2005 r. w sprawie wystawiania oraz przesyłania faktur w formie elektronicznej, a także przechowywania oraz udostępniania organowi podatkowemu lub organowi kontroli skarbowej tych faktur (Dz. U. Nr 133, poz. 1119) pozwala na rezygnację ze stosowania tradycyjnych faktur papierowych i przejście na wymianę dokumentów elektronicznych. Korzystając z doświadczeń związanych z przesyłaniem zabezpieczonych dokumentów elektronicznych oraz ze stosowaniem e-podpisu, PWPW uruchomiła projekt e-Faktura.

  1. Komponent techniczny. Sigillum opiera się na sprzęcie do składania podpisu pochodzącym od dwóch dostwaców:
    1. Cryptotech (www.cryptotech.com.pl) tel. (012) 260 9219 - oprogramowanie na karcie: dedykowany, wewnętrzny, certyfikowany system operacyjny firmy Setec SETCOS, wsparcie dla MS Windows 9x*, NT4*, 2000, XP, 2003).
      1. Starszy produkt to Cryptocard PKI, wyciąg z opisu: Mechanizmy zarządzania kluczami i szyfrowania są zlokalizowane na karcie. Karta zarówno generuje klucze, przechowuje je w pamięci, jak również przy ich użyciu szyfruje informacje na zlecenie zewnętrznych aplikacji po weryfikacji kodu PIN użytkownika. Wysoki poziom bezpieczeństwa karty potwierdzony jest odpowiednimi certyfikatami. System operacyjny karty bazuje na systemie certyfikowanym do poziomu ITSEC E3 HIGH lub FIPS 140-1 Level 2, a obecnie jest w trakcie certyfikacji wg standardu Common Criteria EAL4+. Oprogramowanie CryptoCard PKI realizuje standardy PKCS#11 i PKCS #15 oraz zawiera certyfikowany przez firmę Microsoft moduł CSP do pracy w ramach CryptoAPI. Ponieważ interfejsy te wykorzystują standard PC/SC, możliwe jest używanie szerokiej gamy czytników w środowisku Windows. Karta spełnia również wymagania European Digital Signature Law i polskiej Ustawy o podpisie elektronicznym.
      2. Nowsze rozwiązanie: CryptoCard MultiSign wraz z oprogramowaniem do zarządzania kartą elektroniczną CryptoCard Suite aktualna i zalecana wersja 1.20. Nowością jest w dokumentacji wzmianka o wsparcou dla RedHat 9+, Debian i Suse.
      3. Uwaga! W wersji 1.30 będzie pełne wsparcie dla Linuxa!
      4. Dostępne są sterowniki - http://www.cryptotech.com.pl/Pomoc_techniczna/Sterowniki,content.html - uwaga: nie ma sterowników dla systemów nie MS!
    2. Mikroprocesorowa karta ActivIdentity z zestawem apletów ActivCard Digital Identity Applet Suite v2.5 wraz z oprogramowaniem middleware wchodzącym w skład pakietu ActivClient (pojawia się tutaj firma www.sputniksoftware.com 801-886644).
  2. Komponent programistyczny - aplikacje:
    1. Sigillum Sign
    2. Sigillum Sign Pro
    3. PEM-HEART

  1. Na podstawie FAQ ze strony Sugillum:
    1. Zestaw aktów prawnych - http://www.sigillum.pl/sig-cmsws/page/?F;166
    1. Po co LDAP - usługa katalogowa LDAP jest stosowana w celu umożliwienia zainteresowanym osobom dostępu do bazy certyfikatów osób zarejestrowanych w danym urzędzie (np. bazy Sigillum). Dzięki temu dostępowi możliwe jest odnalezienie certyfikatu wybranej osoby (oczywiście o ile znajduje się ona w bazie), a w konsekwencji np. zaszyfrowanie do niej poczty. Katalog LDAP daje też możliwość sprawdzenia, czy dany certyfikat faktycznie został wydany danej osobie przez określone centrum certyfikacji, a w konsekwencji może stanowić dodatkową formę potwierdzenia tożsamości.
    1. Problem - Brak nazwy /nieprawidłowe wyświetlanie pól w Windows 98 - Problem ten pojawia się najczęściej na komputerach z zainstalowanym systemem Windows 98. Niestety, nie ma na ów błąd dobrej rady, bo firma Microsoft nie wspiera już tego systemu i nie publikuje stosownych poprawek. Dopiero systemy operacyjne starsze niż Windows 98 poprawnie obsługują pola certyfikatów.
    1. Co to jest weryfikacja podpisu elektronicznego - Weryfikacja podpisu elektronicznego jest realizowana automatycznie przez oprogramowanie służące do tego celu.

      Obejmuje ona sprawdzenia:

      • czy zawartość dokumentu nie zmieniła się od momentu podpisania
      • czy sam podpis dokumentu jest poprawny
      • czy certyfikat osoby podpisującej jest poprawny i czy nie został odwołany
      • sprawdzenie, czy urząd certyfikacji nie został odwołany.
    1. Termin „wielopodpis” lub „podpis wielokrotny” używany jest w dwóch kontekstach:
      • jako synonim kontrasygnaty, czyli umieszczania wielu różnych podpisów (podpisów elektronicznych różnych osób) pod jednym dokumentem
      • jako możliwość podpisywania na raz wielu dokumentów – czyli podpisywanie tych dokumentów za pomocą pojedynczego wprowadzenia kodu PIN (standardową opcją jest wprowadzanie PIN-u dla każdego podpisywanego dokumentu osobno) – w przypadku korzystania z oprogramowania Sigillum, wielopodpis w tym sensie jest możliwy jedynie przy użyciu programu Sigillum Sign Pro (wersja darmowa oprogramowania – Sigillum Sign – wymaga wpisywania kodu PIN osobno podczas podpisywania każdego dokumentu
    1. Aukcje - Należy sprawdzić, czy komputer spełnia następujące minimalne wymagania:
      • Komputer PC o szybkości minimum 300Mhz, wyposażony w 64MB RAM;
      • system operacyjny Windows 2000 lub wyższy (uruchomienie aukcji na Windows 98 jest teoretycznie możliwe, ale w tym wypadku często pojawiają się błędy);
      • stałe łącze internetowe (aukcje powinny działać również na modemie, jednak w tym przypadku istnieje poważne niebezpieczeństwo zerwania połączenia, a w konsekwencji „wyrzucenie” z aukcji w najbardziej istotnym momencie);
      • przeglądarka Internet Explorer 5.5 bądź wyższa;
      • aplet java pobrany jednorazowo przy pierwszym połączeniu ze stroną (v.1_3_1_06);
      • wyłączona autoryzacja na serwerze proxy;
      • ważny kwalifikowany certyfikat podpisu elektronicznego.

      Dodatkowe wymogi konfiguracji obejmują:

      • włączone uruchamianie apletów ActiveX.

niedziela, marca 09, 2008

Ciekawe linki:
  1. IE7Pro ma debugger FireBug w wersji Lite
  2. Refleksja w Javie czasmi może być pomocna - http://www.onjava.com/pub/a/onjava/2007/03/15/reflections-on-java-reflection.html?page=1
  3. Tworzenie okien modalnych będących jedynie warstwą na stronie - http://jquery.com/demo/thickbox/
  4. Inna wersja - http://livepipe.net/projects/control_modal/
  5. Przykład wykorzystania j. dynamicznych - http://www.javabeat.net/javabeat/java6/articles/2007/06/java-6-0-new-features-part-1/2
  6. Portal Java EE - http://java.sun.com/javaee/community/blogs/?feed=JSC
  7. Tutorial o oknach - http://www.webreference.com/js/tutorial1/final.html
  8. http://p0t.jp/pprompt/
  9. http://openjsan.org/doc/k/ko/komagata/Widget/Dialog/0.01/index.html
  10. http://www.webreference.com/js/column90/
  11. http://www.dhtmlgoodies.com/index.html?whichScript=modal-message
  12. http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow/dhtmlmodal.htm
  13. Wstrzyknięcie dynamiczne javascript-u i css-ów - http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
  14. Przykłady EXT JS - http://extjs.com/deploy/dev/examples/
  15. marekcoig/t - https://inventory.sun.com/RegistrationWeb/nbgf/thankyou.jsp
  16. http://developers.sun.com/downloads/ - dostęp po zarejestrowaniu wcześniej
  17. Java SE security - http://java.sun.com/javase/technologies/security/
  18. Tutoriale - http://java.sun.com/developer/onlineTraining/
  19. Klasyczne :
    1. dzone
    2. http://dean.edwards.name/my/
    3. http://code.google.com/

piątek, marca 07, 2008

Co z tym IE?

Od niedawna jest dostępna beta wersja IE 8. Co nas czeka? Odpowiedź na to daje Chris Wilson (Internet Explorer platform architect). Nowy IE8 rozpoczął sie od IE7 ponieważ wtedy MS postanowił stworzyć całkowicie od nowy zespół do prac nad przeglądarką (mocno przestarzałą w swej wersji 6.x). W IE 8 położona nacisk na zgodność ze:

  1. standardami:
    1. de facto standardem stron "robionych" pod IE5/IE6 (większość stron w Internecie stworzona dla IE5/IE6)
    2. standardem W3C
    3. poprawkami kosmetycznymi pod kątem podciągnięcia IE (w wersji IE7) do konkurencji
  2. wydajnością w innych przegladarkach
  3. uniwersalności (przeglądarka internetowa jest mocno zintegrowana z Windows poprzez MSHTML) - ma to być solidny motor do przeglądania stron oraz dla deweloperów do wykorzystania w aplikacjach Windows (architektura SaS)

Wilson podkreślił zmianę w swej polityce co oznacza, że wymuszenie aktywacji wyboru standardów (o których mowa wyżej) nie będzie wymagało stosowania specjalnego znacznika HTML (cytat "While it seems a logical shift, especially when considering that Microsoft wants its own online services to work for the growing number of Firefox and Safari users, the move is an about-face from a decision in January in which Wilson explained IE8's standards mode would require a special HTML tag to activate. Microsoft was worried about breaking existing sites designed for IE7's standards mode").

MS odstąpił także od wypuszczania dziennych wersji (nightly built) z uwagi na oszczędzenie nerwów użykowników zwiazanych z ewentualnymi błędami w pracy przeglądarki. Będą wydania Beta (zwykle 3) a potem RC (zwykle 2).

Innym, znamiennym komentarzem jest uwaga: "Wilson also said that IE8 will not be an automatic upgrade for IE7 users, which could lead to headaches for developers who now need to program for three different variants of IE. The primary reason for this, Wilson says, is that Microsoft needs to honor servicing contracts for customers who have built solutions that work specifically with IE7. Such upgrades are a "big challenge" for Microsoft, he explained, because the company has to balance between supporting existing deployments and delivering a better product. IE7 users will likely see a recommendation to upgrade to IE8 through Microsoft Update when the browser is finalized, but it will be optional."

Oznacza to, że jeżeli w systemie klienta jest IE7 to nie będzie wymuszenia automatycznego upgrade'u do IE8, chyba, że zrobi to sam użytkownik. W ten sposób MS chce oszczędzić pracę deweloperów wiążących się z IE7.

poniedziałek, marca 03, 2008

Ciekawe linki z IE:
  1. MS MIX (New Web Now) - http://www.visitmix.com/
  2. WebStandards - http://webstandards.org/ (Edwards Deans)
    1. Rozszerzenie i udoskonalenie DOM - http://dean.edwards.name/weblog/2007/03/yet-another/
  3. CO to jest MVC (wikipedia) - http://en.wikipedia.org/wiki/Model-view-controller
  4. Przykład MVC w JS - http://javascriptmvc.com/
  5. Podpis cyfrowy w środowisku JAVA:
    1. http://www.nakov.com/documents-signing/
    2. http://www.developer.com/security/article.php/3587361
    3. http://www.developer.com/java/web/article.php/3298051

  6. Ciekawe publikacje o fizyce - http://he-cda.wiley.com/WileyCDA/HigherEdMultiTitle.rdr?name=halliday
  7. Nauka ASP.NET - http://quickstarts.asp.net/QuickStartv20/aspnet/
  8. Obsług aSmart Card w C++ - http://www.devarticles.com/c/a/Cplusplus/Writing-a-Smart-Card-Library/
  9. Nowy standard (wolny) podpięcia do usług Windows - JNA - http://www.javaworld.com/javaworld/jw-02-2008/jw-02-opensourcejava-jna.html?nhtje=rn_022808&nladname=022808javaworld'senterprisejavaal
  10. Blogi z MS:
    1. http://blogs.msdn.com/webdevtools/archive/2008/02/09/downloadable-hotfix-performance-and-editor-fixes-for-microsoft-visual-studio-2008-and-visual-web-developer-express-2008.aspx
    2. http://weblogs.asp.net/scottgu/archive/2008/02/08/vs-2008-web-development-hot-fix-roll-up-available.aspx
  11. Autentykacja w Google - http://code.google.com/apis/accounts/docs/AuthForWebApps.html
  12. Wprowadzenie do LINQ - http://code.msdn.microsoft.com/formsoverlinq
  13. Nauka ASP.NET - http://www.asp.net/
  14. Kanał 8 - http://channel8.msdn.com/ - szukaj podcastów
  15. Google Chart - http://blogs.techrepublic.com.com/programming-and-development/?p=582

sobota, marca 01, 2008

O podpisie (http://www.thescripts.com/forum/thread172238.html), dzięki wyszukiwarce "mahalo"!:

"Digital signatures, uniquely, have the following set ofcharacteristics. The signature is:
a. unique to the signer
b. capable of verification
c. under the signer's sole control
d. linked to the record in such a manner that it can be
determined if any data contained in the record was changed
subsequent to the electronic signature being affixed to
the record
e. and created by a method appropriately reliable for the
purpose for which the electronic signature was used.

Legal Signatures and Electronic Signatures
The American Bar Association (ABA) defines a "legal
signature" as having the following characteristics:

Signer authentication: To provide good evidence of who
participated in a transaction, a signature should indicate
by whom a document or message is signed
and be difficult for any other person to produce without
authorization.

Document authentication: To provide good evidence of the
substance of the transaction, a signature should identify
what is signed, and make it impracticable to
falsify or alter, without detection, either the signed
matter or the signature.

Affirmative act: To serve the ceremonial and approval
functions of a signature, a person should be able to
create a signature to mark an event, indicate approval and
authorization, and establish the sense of having legally
consummated a transaction.

Efficiency: Optimally, a signature and its creation and
verification processes should provide the greatest
possible assurance of authenticity and validity with the
least possible expenditure of resources. (2)"

  • Z MSDN:
    • http://blogs.msdn.com/shawnfa/archive/2004/03/31/105137.aspx
    • http://blogs.msdn.com/shawnfa/archive/2004/01/22/61779.aspx
    • http://blogs.msdn.com/shawnfa/archive/2005/11/03/488807.aspx
    • http://msdn.microsoft.com/msdnmag/issues/04/11/XMLSignatures/


piątek, lutego 29, 2008

Rozwiązanie podpisu cyfrowego w COIG


Wstęp

Analiza SWAT

Generalnie mamy do czynienia z takimi "show stopperami":

  1. Wymagania prawne odnośnie podpisu i wymaganej od aplikacji deklaracji zgodności - nie do końca je znamy, są one dostępne na stronach Sigillum i SputnikSoftware, ale nie wiemy co tak naprawdę jest ważne.
  2. Problem uzyskania zgodności z ustawą...
  3. Proces instalowania podpisu cyfrowego u klienta jest pracochłonny i wymaga zainstalowanie oprogramowania dodatkowego oraz poprawnego skonfigurowania w systemie. Być może nawet pomocy technicznej np. coś w rodzaju naszego "maximo"
  4. Stosowanie klienta Cisco VPN skutecznie wyklucza sprawdzenie ważności certyfikaty z listą CRL (VPN wyłącza dostęp do witryny świadczącej usługi sprawdzenia CRL)
  5. Przeglądarki internetowe nie potrafią w prosty sposób (na poziome zwykłego użytkownika) dostać się do zasobów lokalnych komputera klienckiego
  6. Poza platformą MS Windows brak powszechnego wsparcia implementacji procedur kryptograficznych w postaci zintegrowanych, gotowych do wykorzystania z poziomu systemu operacyjnego a nie wywołań funkcji bibliotecznych komponentów, które uzyskały aprobatę w oczach ustawodawców (mających certyfikaty). Dlatego OpenSSL mimo, że jest wspaniałą biblioteką nie jest gotowa do obsługi.
  7. Brak dostępu do sterowników obsługujących czytniki smart card na naszym rynku w środowisku Unix/Linux (producenci tychże czytników dostarczają sterowników wyłącznie pod Windows)
  8. Brak certyfikatu do podpisywania kodu własnego oprogramowania udostępnianego publicznie klientom (musimy zakupić taki certyfikat aby zwiększyć wiarygodność)
  9. Jak i co podpisywać cały dokument czy jego fragment i jakiego formatu użyć (formaty wykorzystujące XML pozwalają podpisywać fragmenty dokumentów)
  10. Czy używać znakowania czasem, jeżeli tak to jakie rozwiązanie wybrać (opłata czy własny serwer czasu), stowarzyszenie PEMI wyraża chęć pomocy (oni przez pewien czas utrzymywali taki serwer ale nie było zainteresowania)
  11. Wybór systemu operacyjnego użytkownika oraz określenie przeglądarki internetowej
  12. Wybór dostawcy certyfikatu (tzw. urząd certyfikacyjny) w pewnym sensie determinuje sposób obsługi certyfikatu u klienta. Są dwa: Sigillum i Certum
  13. Wybór urządzenia smart cart i karty inteligentnej jeszcze bardziej zawęża wybór rozwiązania tej obsługi. Są dwa rozwiązania. Jedno bazuje na sterownikach PC-SC (dll) drugia na JavaCard (ale mało popularne)
  14. Co wybierze nasz klient, pod tym kątem musimy przygotować oprogramowanie
  15. Wybóry powyższe determinują rozwiązanie obsługi ceryfikatów i podpisu w naszych aplikacjach
  16. Coś za coś - wybrawszy dostawcę możemy liczyć na jego wsparcie i dostajemy dużo narzędzi do instalacji, konfiguracjie, testowania certyfikatów a także aplikacje wspomagające np. CryptoCard Monitor, ale kosztem bardziej skomplikowanej procedury instalacyjnej i konfiguracyjnej
  17. Wsparcie (Sigillum i Certum) polega na dostarczeniu bezpłatnej aplikacji w grubym kliencie do podpisu i weryfikacji dokumentów lokalnych. To niewybrednym klientom wystarcza, resztę załatwiają przy pomocy poczty elektronicznej.
  18. Na szczęście każdy dostawca dostarcza własne biblioteki obsługi oraz sterowniki (czasami odpłatnie) wraz z homologacją
  19. Na nieszczęście każde rozwiązanie jest inne, brak uniwersalnego rozwiązania (czasami zdarzają sie biblioteki uniwersalne - patrz Sigillum)
  20. W MS Windows jest wbudowana obsługa podpisu i certyfikatów poprzez odpowiednio zdefiniowane warstwy
  21. Należy unikać "szarlatańskich" rozwiązań z Internetu, które działają w pewnych tylko przypadkach, choć istnieje pewne prawdopodobieństwo, że przy odrobinie wysiłku można je przystosować i rozwinąć dla własnych potrzeb. Sprawdziłem - prosto jedynie można podpisać gdy certyfikat nie jest na karcie a jedynie w repozytorium Windows
  22. Prawdziwe i pełne oprogramowanie podpisu nie może sie obejść bez głębokiego wniknięcia w programowanie (szczególnie jeżeli chodzi o przygotowanie komponentów) na poziomie Java lub .NET. Dlatego konieczne są szkolenia
  23. Rozwiązania z internetu (każde inne):
    1. http://www.nakov.com/documents-signing/demo/SmartCardSignerApplet-demo.html
    2. http://www.developer.com/java/web/article.php/3298051
    3. http://www.developer.com/security/article.php/11580_3587361_1
    4. http://rcardon.free.fr/
    5. http://www.podpiselektroniczny.pl
    6. http://www.trustedwebservices.org/content/view/48
Można udostępnić całościowe ale hermetyczne rozwiązanie albo wiele różnych wihajstrów do wykorzystania. Oba te rozwiązania są pożyteczne.


Część kliencka podpisu

Do podpisywania (i tylko do tego bo można jeszcze szyfrować) służy bezpieczne urządzanie tj. zestaw: system operacyjny, czytnik smart card/karta inteligentna oraz aplikacja. Miejsce podpisywania - wyłącznie u klienta. Konieczna jest wizualizacja dokumentu przed podpisem. Wszystkie inne funkcje związane z podpisem mogą być realizowane w innym miejscu np. na serwerze. Problem podpisu możemy rozwiązać na dwa sposoby.
  1. Podejście brutalne - wykorzystanie istniejących w systemie Windows uniwersalnych komponentów do obsługi całego (kompletnego) procesu składania i sprawdzania podpisu. Komponenty te można zabudować we własnych aplikacjach. Te komponenty to:
    1. Wbudowany w MS Windows moduł CAPI oraz interface do niego CAPICOM (czyli udostępnienie interfejsu Crypto API poprzez architekturę COM) który zapewnia wszystkie podstawowe funkcje związane z podpisem i sprawdzaniem dokumentu oraz obsługą repozytorium certyfikatów. Dokładnie mówiąć CAPICOM pozwala na "przeźroczystą" obsługę konkretnych urządzeń kryptograficznych dostępnych przez CSP. Jest to dla środowiska MS Windows Client jedyny wbudowany komponent do obsługi podpisu cyfrowego. Dla środowiska Linux / Unix nie ma takiego komponentu, jedynie aplikacje w Javie coś takiego mają. Należy pamiętać, że Microsoft ogłosił plany stopniowego wygaszania wsparcie dla CAPICOM począwszy od systemów operacyjnych po Viscie (ale CAPICOM w Viście jest wspierany, a to dlatego, że całkiem po prostu nie ma jeszcze pełnego wsparcia dla obsługi certyfikatów kwalifikowanych tj. mających zabezpieczone przed pobraniem klucze prywatne - tego jeszcze na platformie .NET nawet w nowej wersji 3.5 nie ma! Sam sprawdziłem, mówi się, że trzeba poczekać na SP1 do Visty. W Viscie jest nowy moduł, zgodny z CAPICOM i nosi nazwę CNG (Cryptography API: Next Generation) - wykorzystuje on nowsze, certyfikowane przez National Security Agency (NSA) algorytmy, jest bezpieczniejszy i szybszy (dzięki wykorzystanie tzw. Elliptic Curve Cryptography). Ale jest jeszcze niedopracowany (czekamy na SP1). Dlatego jedyne na obecną chwilę rozwiązanie w środowisku .NET poza CAPICOM to skorzystanie z dostępnych bibliotek firm dostarczających certyfikaty np. biblioteki Sigillum. Możliwości CAPICOM:
      1. Dostęp do:
        1. Certyfikatu oraz ścieżki certyfikacyjnej
        2. Danych o podpisującym
        3. Danych o wystawcy
        4. Danych o datach ważności informacji
        5. Klucza publicznego
      2. Realizacja podpisu pod dokumentem:
        1. Wbudowanego (tzw. attached, powstaje nowy, znacznie większy o ok. 3 razy dokument, który jest samowystarczalny tj. niesie informację o dokumencie podstawowym, się może być sprawdzony na nienaruszalność danych i zawiera informacje kto, kiedy podpisał
        2. Pomocniczy (tzw. detached, znacznie mniejszy ok. 20-30 KB, do weryfikacji potrzebny jest dokument podstawowy)
      3. Weryfikacji dokumentu - sprawdzenia czy dokument uległ zmianie.
      4. Kopertowanie (envelope) - dodatkowa funkcja szyfrowania danych kluczem publicznym odbiorcy, wtedy tylko odbiorca może dokument odczytać
      5. Brak bardziej zaawansowanych funkcji: znacznika czasu i sprawdzenia (online poprzez OCSP lub pobranej periodycznie listy CRL) czy certyfikat nie został odwołany
    2. Biblioteki zewnętrzne (przykład - zakupiona przez ZA biblioteka Sigillum), realizuje ona wszystko to co ma CAPICOM i ma mnóstwo rozszerzeń m.in. znakowanie czasem, walidacja ważności certyfikatu online (poprzez OCSP), wsparcie certyfikatów innych wystawców, podpis wielokrotny. Zaletą tej biblioteki jest oparcie jej o nowy standard bezpieczeństwa wykorzystujący platformę .NET, będącej podstawą kolejnych edycji MS Windows. Nie rozpoznałem możliwości biblioteki drugiego dostawcy certyfikatów Certum z uwagi na utrudniony dostęp do informacji (znam jedynie cenę biblioteki ok. 7 tyś. zł. W czasie rozmów z przedstawicielami Certum w Katowicach przedstawiono nam warunki dostępu - podpisanie umowy partnerskiej.
  2. Podejście ambitne - stworzenie własnej, uniwersalnej biblioteki co wiąże się z dużymi nakładami. Biblioteka może być rozwijana na platformie MS (wykorzystywać trzeba będzie już chyba nie CAPICOM ale .NET) lub Java na platformie Linux/Unix. W tym ostatnim przypadku brakuje natywnych sterowników do czytników smart card obecnie na rynku no i brak naszego doświadczenia. Probowałem się skontaktować z przedstawcielami SputnikSoftware jedynej w Polsce firmy mającej rozwiązanie pod Linux. Poza rozmowy przez telefon i wysłania im e-maila z zapytaniem o współpracę brak odpowiedzi.


Studium przypadków

Rozwiązania kompleksowe (ale przez to nieco hermetyczne), przetestowane w Portalu AS:
  1. Aplikacja kameleon w "grubym kliencie" implementująca na formularzu komponent webBrowser (silnik IE 6/7) do wyświetlania witryny AS (użytkownik ma całkowite złudzenie, że korzysta z przeglądarki internetowej), która przechwytuje zdarzenia w przeglądarce i obsługuje lokalne zasoby, w tym przypadku czytnik smart card i wszystkie biblioteki (.dll czy .ocx) Windows. Była to wersja I podpisu cyfrowego dokumentów zamówień w Portalu AS. Eksploatowana od 2006 roku. Wynik:
    1. Zalety:
      1. Zero niespodzianek i potrzeb zdobywania nowych "doświadczeń" od strony użytkownika
      2. Doskonała współpraca z urządzaniami peryferyjnymi i komponentami Windows
      3. Bezproblemowa komunikacja z czytnikiem
      4. Bezpieczeństwo - użytkownik ma dostęp do jedynie tych adresów URL na które mu zezwolimy
    2. Wady:
      1. Potrzeba instalacja (użytkownik musi pobrać z witryny i zainstalować u siebie aplikację) chociaż wykorzystywane przeze mnie narzędzie do tworzenia instalacji sprowadza jej proces do bezmyślnego klikania OK),
      2. W jednym przypadku (opcja upoważnień witryna się zawieszała),
      3. Być może do był powód poprzedniego problemu - zła obsługa wielu instancji okien przeglądarkowych
    3. Werdykt - rozwiązanie niezłe, przy odrobinie samozaparcie można problem ten zbadać i albo go usunąć albo znaleźć obejście.
  2. Aplikacja natywna w "grubym kliencie". Jest to rasowa aplikacja wykonana w WinForm w środowisku .NET. Wszystkie kontrolki potrzebujące danych z bazy (np. listy rozwijane, tabele/gridy) są zasilane poprzez technologię AJAX z baz po stronie portalu, czyli aplikacja wszystkie świeże dane ściąga z witryny poprzez prymitywną usługę webową. Dalej jak powyżej, dostęp do wszystkich zasobów lokalnych jest bez ograniczeń. Była to wersja II podpisu cyfrowego dokumentów zamówień w Portalu AS. Eksploatowana od 2007 roku. Wynik:
    1. Zalety:
      1. Doskonała współpraca z zasobami lokalnymi i sieciowymi oraz komponentami Windows
      2. Bezproblemowa komunikacja z czytnikiem
      3. Bezpieczeństwo - pełna kontrola nad użytkownikiem
      4. Zgodność z wymaganiami MS dla aplikacji klienckich
      5. Wykorzystanie biblioteki Sigillum z jej pełnym zestawem możliwości np. realizacja podpisu wielokrotnego
      6. Możliwość łatwego generowania wydruków pod katem użytkownika lub nawet przez użytkownika (dostępny jest generator wydruków)
    2. Wady:
      1. Potrzeba instalacja (użytkownik musi pobrać z witryny i zainstalować u siebie aplikację) chociaż wykorzystywane przeze mnie narzędzie do tworzenia instalacji sprowadza jej proces do bezmyślnego klikania OK. W przypadku .NET ułatwieniem może być automatyczna aktualizacja programu bezpośrednio z witryny Portalu.
      2. Brak pełnej funkcjonalności portalu - udostępnia jedynie jego wąski skrawek, są użytkownicy chcący spojrzeć szerzej na portal - dla nich trzeba by dopisać coś więcej, chociaż z drugiej strony można im udostępnić komponent w innym WinForm komponent webBrowser z rozwiązania nr.1.
    3. Werdykt - rozwiązanie niezłe i jednocześnie nowoczesne udostępniające pełną gamę funkcji związanych z podpisem. Należy nadal rozwijać
  3. Podpis poprzez ActiveX - użytkownik ma możliwość wykonania wszelkich prac związanych ze składaniem podpisu i weryfikacją bezpośrednio w przeglądarce pracując w portalu dziedzinowym. Dostęp do tych funkcji ma poprzez osadzenie na stronie internetowej kontrolki ActiveX (CAPICOM lub Sigillum). Metoda eksploatowana w Portalu AS od 2007 roku w przypadku ok. 15% klientów.
    1. Zalety:
      1. Zero niespodzianek i potrzeb zdobywania nowych "doświadczeń" od strony użytkownika
      2. Przeźroczyste dla użytkownika - nic nie musi instalować
      3. Dostęp z poziomu przeglądarki do wszystkich funkcji jak w przypadku "grubego klienta"
    2. Wady:
      1. Potrzeba zgody użytkownika na zainstalowanie "obcej" kontrolki
      2. Potrzeba skorygowania często niepoprawnie działającej konfiguracji przeglądarki
      3. Potrzeba skonfigurowania poziomu zabezpieczeń przeglądarki aby zezwalała na dostęp do repozytorium certyfikatów i samego czytnika
      4. Trudność dokonania diagnozy i zdalnej konfiguracji w przypadku niedoświadczonych użytkowników
    3. Werdykt - rozwiązanie działa poprawnie w środowisku przeglądarki MS IE i lokalnej sieci gdzie administrator ma kontrolę nad instalacjami
  4. Podpis poprzez applet Java - dostęp do w/w funkcji odbywa się poprzez podpisany zaufanym certyfikatem specjalny applet w języku Java. Komunikacja z czytnikiem wygląda tak:
    1. Strona internetowa przekazuje żądanie do appletu wraz z kluczem do dokumentu źródłowego,
    2. Applet uruchamia i przekazuje ten klucz do komponentu lokalnego (np. dll)
    3. Komponent lokalny (opakowana funkcjonalność CAPICOM lub Sbibiloteki Sigillum w .dll) - który na jego podstawie pobiera z Internetu dokument, podpisuje go i odsyła z powrotem.
    4. Applet jest niewizualny (nie ma interfejsu graficznego) jego zadaniem jest łączenie strony internetowej ze środowiskiem lokalnym.
    5. Rozwiązanie nie wdrożone (działa prototyp).
    6. Wady:
      1. Potrzeba zakupu certyfikatu Authenticode do podpisania appletu
      2. Potrzeba zgody użytkownika na zainstalowanie "obcego" appletu
    7. Zalety:
      1. Otwartość i uniwersalność - działa w każdej przeglądarce
      2. Przeźroczyste dla użytkownika - nic nie musi instalować (no musi zainstalować .dll ale to można zautomatyzować)
    8. Werdykt - rozwiązanie nie gotowe ale o potencjalnie dużych możliwościach

Rozwiązania cząstkowe

Narzędzia do wykorzystania:
  1. Baza danych dla dokumentów źródłowych i podpisanych
  2. Własne biblioteki .dll opakowująca funkcjonalność CAPICOM i Sigillum
  3. Rozwiązanie 1-4 są dostępne do analizy
  4. Pobieranie i sprawdzanie certyfikatu z listami CRL (program w Javie poprzez połączenie z Internetem ściąga plik CRL)
  5. Serwer sprawdzający certyfikat jw ale z wykorzystaniem OCSP i biblioteki Sigillum (usługa webowa na platformie .NET - wymaga MS Windows Server)

Wnioski

  1. Wybór technologii:
    1. Rozwiązania .NET i Java są jeszcze niedojrzałe (brakuje im specjalizacji np. obsługi urządzeń, uwzględnienia specyfiki wymagań podpisu krajowego).
    2. Obiecująco wygląda rozwiązanie oparte o Javę, jest otwarte i ciągle rozwijane poprzez prace środowiska open-source
    3. Rozwiązanie oparte o CAPICOM jest dojrzałe i sprawdzone ale ma dwie wady: nie jest dalej rozwijane przez MS (w jego miejsce ma wejść .NET ale nie jest jeszcze gotowe)
    4. Rozwiązanie zamknięte wykorzystujące biblioteki dostawcy sprzętowego jest chyba na chwilę dzisiejszą najbardziej obiecujące, załatwia wszystkie potrzeby odnośnie podpisu oraz uwzględnia specyfikę krajowego ustawodawstwa. Ale jest mało mało uniwersalne.

czwartek, lutego 28, 2008

Ciekawe linki (ITtoolBox):
  1. Kody odpowiedzi protokołu HTTP - http://wiki.ittoolbox.com/index.php/HTTP_Response_Codes
  2. Nauka (w przystępny sposób HTTP) - http://www.jmarshall.com/easy/http/
  3. Opis (suchy protokołu HTTP) - ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt
  4. Opis HTTPS - http://wiki.ittoolbox.com/index.php/HTTPS

środa, lutego 27, 2008

Bezpieczny podpis (problem - poznanie dokładnych przepisów prawnych) składa się z dwóch elementów:
  1. certyfikatu kwalifikowanego oraz
  2. bezpiecznego urządzenia do składania podpisu
To ostatnie w myśl ustawy składa się z Windows + czytnika + aplikacji.
Ta ostatnia musi mieć deklarację zgodności w której producent stwierdza, że "aplikacja składa i weryfikuje e-podpis zgodnie z wymogami ustawy (chodzi też p poznanie specyfiki weryfikowania podpsiu certyfikatem kwalifikowanym)

poniedziałek, lutego 25, 2008

Nowinki:

  1. Kto wygra a kto straci na otwarciu przez MS swych API ?
  2. Słynny port25 - odpowiedź MS na potzreby otwarcia na open-source
  3. Świetna strona InformIT - zawiera łącza do np. blogów
  4. Mam stronę w MS Space - http://marekw.home.services.spaces.live.com/default.aspx
  5. To czego szukałem - przykład szyfrowania w C pod AIX
  6. Stare ale jare:
    1. http://webservices.xml.com/pub/a/ws/2004/03/24/phpws.html
    2. http://webservices.xml.com/pub/a/ws/2001/04/04/soap.html
    3. Kąśliwa historia SOAP i WS-* - http://www.regdeveloper.co.uk/2008/02/20/web_services_vagueness/
    4. Lista osób wnoszących swój wkład w rozwój XML - http://www.tbray.org/ongoing/When/200x/2008/02/10/XML-People
    5. XML-RPC: http://www.xmlrpc.com/
  7. Najsłabsze ogniwo w zabezpieczeniu aplikacji Internetowych (XSS) jest nie polisa Same Origin Policy ale bezpieczne przetwarzanie ciasteczek (cookies). Do ciasteczek obowiązuje te same polisy bezpieczeństwa co HTTP ale ponieważ są one rozszerzeniem tego protokołu to można napostkać pewne trudności. Nie obowiązuje tu ograniczenie tego samego portu (zasada tej samej domeny jest złamana).
  8. Akronym na krótkie komunikaty - I mean rlly trs - to th pnt of bng compltly uslss
  9. O .NET:
    1. Blogger: http://joeon.net/post/2008/02/New-Live-From-Redmond-Webcasts-with-Visual-WebGui.aspx
  10. VisualJQuery - http://visualjquery.com/1.1.2.html
  11. Też świetny o ASPALLIANCE - http://aspalliance.com/1495_Video_Introduction_to_JQuery oraz o pojęciu interfejsu w C#
  12. Budowa i obsługa serwera LDAP w PHP - http://www.regdeveloper.co.uk/2008/02/18/ldap_php/page3.html
  13. XAJAX i PHP - http://www.regdeveloper.co.uk/2007/11/20/creating_jsf_portlets/ - wszystko po to aby wyeliminować problematyczny komponent XMLHttpRequest
  14. Tutorial do SliverLight - (http://silverlight.net/quickstarts/silverlight10/default.aspx) i tu: http://www.regdeveloper.co.uk/2007/11/05/get_started_with_silverlight/
  15. Tutorial do:
    1. WS przez MS - http://quickstarts.asp.net/QuickStartv20/webservices/doc/UseDefaultCredentials.aspx
    2. .NET - http://quickstarts.asp.net/QuickStartv20/aspnet/

Programy antywirusowe:

Jak wiadomo są też bezpłatne. Na uwagę zasługują dwa: AVG Antivir Grisoft (teraz nosi nazwę AVG Technologies) oraz Spy Doctor PC Tools. Oba mają wersje bezpłatne (są i płatne też). Charakteryzują się tym, że próbują przyciągnąć użytkowników nie jakością swoich motorów ale pełnością usług tj. grupują w sobie więcej funkcji np. antywirus z antyspyware.

Uwaga: póżniej odkryłem inną firmę mającą dosyć szeroką ofertę oprogramowania ant- od wirusowego przez spamowy i rooktkowy aż po zaporę ogniową i to wszystko za darmo. Jest to Comodo. Dodoatkowo mają też program do weryfikacji stron.

Kapitalny artykuł na temat firewall - Comodo Firewall najskuteczniejszy.

niedziela, lutego 24, 2008

Ciekawostki z betanews:

  1. EMC kupiło firmę PI, co to oznacza? Szefem będzie były prac. (członek rady nadzorczej MS) - bezlitosny dla konkurencji. To on jest autorem powiedzenie charakteryzującego strategię MS - "embrace, extend, extinguish", to on chciał podciąć nogi Netscapowi 'cut off their air supply', to on związał Windows 95 z MS-DOS po to by wykończyć DR-DOS. Prawdziwy doctor evil. Jego firma ma się zająć "cloud computing", podobne produkty ma MS w grupie Live. Ale ta inicjatywa opiera się na idei multi-taskingu tzn. wraz ze zmianą zadania dostaje się wszystkie artefakty zwiazane z nim (nie trzeba sobie szukać, czy komponować niezbędne obiekty/informacje zwiazane z tym aktualnym zadaniem/projektem) tzw. task tracer. Idea bazuje na pracy dwóch naukowców z Oregon (Oregon State University named Dr. John Herlocker and Dr. Tom Dietterich, the latter of whom served as president of the International Machine Learning Association.)
  2. Toshiba kończy rozwój HD DVD. To może być też jej koniec. Chyba, że... No właśnie, analitycy proponują, żeby uchronić się przed procesami sądowymi wytoczonymi przez poddostawców części do urządzeń Toshiby, firma wypuściła hybrydę, urządzenie obsługujące oba formaty (ten drugi to Blue - SONY).
  3. Wine - umożliwia uruchamianie aplikacji MS Windows pod Unix/Linux, pytanie czy aplikacje w .NET też? Inne pytanie - czy można swoje aplikacje skompilować i w ten sposób uruchamiać w środowisku Linux? Co ze wsparciem na poziomie deweloperskim dla .NET? Jeżeli jest to projekt Mono ma kłopoty, przynajmniej w części nie wymagającej IIS.
  4. Konowania MS - nie wiadomo tak naprawdę dlaczego, ale ok 21 MS ogłosił udostępnienie swoich API do najnpwszych wersji swoich aplikacji dla wszystkich i to za darmo. Płacić należy jedynie za te rzeczy, które są opatentowane (lista patentów jest dostępna, opłata za korzystanie z nich też jest udostępniona i jest całkiem dostępna)