sobota, września 24, 2011

Sprawa certyfikatów

Certyfikatów jest wiele, m.in. komercyjny i kwalifikowany. W Polsce inne rodzaje certyfikatów są mało popularne no chyba jeszcze certyfikat na serwer internetowy i SSL. U nas z certyfikatów najczęściej korzystają PRZEDSTAWICIELE firm. Ciekawa sprawa, jeżeli ktoś dostał od firmy certyfikat kwalifikowany to nigdzie nie jest napisane, że nie może się nim posługiwać prywatnie (JEST on wystawiony na OSOBĘ). Taki certyfikat z nazwiskiem jego posiadacza jest jego niejako elektronicznym dowodem osobistym. To, że ma tam gdzieś nazwę firmy oznacza, że kiedyś w niej pracował – zresztą miejsce pracy nie jest takie ważne, dzisaj tu, jutro tam – chyba, że firma taki certyfikat unieważni. Zresztą wypróbowana praktyka w dokumentach papierowych jest taka, że podaje się dane osób UPOWAŻNIONYCH lub PRZEDSTAWICIELI do składania podpisu. Podpisując dokument z nazwiskiem osoby upoważnionej pozwala sprawdzić czy ona właśnie podpisała ten dokument elektroniczne – to taki double-check.

Dla firm trudno raczej certyfikat uzyskać, kwalifikowany jest dla osób fizycznych tylko. Co robić? Można wystosować zapytanie do naszych trzech wystawców certyfikatów lub zwrócić się do uznanych firm zagranicznych jak Thawte lub Verisign (lub mniej znanych jak GlobalSign a na pewno nie do DigiNor – ta firma po skandalu z wyciekiem certyfiaktów i brakiem należytej kontroli nad procesem obsługi życia certyfikatu słusznie zresztą upadła). Poszukałem trochę w sieci – CERTUM daje certyfikat niekwalifikowany, podobnie KIR, inna definicja niezależna. Ale chyba najlepiej precyzuje różnice między tymi dwoma certyfiaktami stowarzyszenie PEMI:

  • certyfikat kwalifikowany może być używany jedynie do składania/weryfikacji podpisu elektronicznego. Ustawa zabrania używania go do innych celów takich jak logowanie, szyfrowanie. Certyfikaty kwalifikowane mogą być używane tylko z "bezpiecznymi aplikacjami" czyli takimi które posiadają oświadczenie producenta o zgodności z wymogami ustawy o podpisie elektronicznym
  • certyfikaty niekwalifikowane nie posiadają ograniczeń pod względem ich użytecznośc
  • certyfikaty niekwalifikowane mogą być przechowywane na komputerze użytkownika lub na urządzeniu kryptograficznym (karta mikroprocesorowa, etoken itp). Użytkownik ma pełna swobodę w wyborze nośnika certyfikatu
  • podpis elektroniczny weryfikowany przy pomocy certyfikatu niekwalifikowanego wywołuje skutki prawne podpisu odręcznego jeśli obie strony zawarły wcześniej umowę. W umowie powinny być zawarte zapisy o wzajemnym uznaniu podpisów weryfikowanych przy pomocy certyfikatów niekwalifikowanych
  • certyfikaty niekwalifikowane mogą wydawać Centra Certyfikacji niekwalifikowane i kwalifikowane
  • skutki prawne -  jeśli obie strony (wymieniające podpisane elektronicznie dokumenty) zawarły wcześniej umowę. W umowie (tak zwanej komunikacyjnej) powinny być zawarte zapisy o wzajemnym uznaniu podpisów weryfikowanych przy pomocy certyfikatów niekwalifikowanych oraz identyfikatory tych certyfikatów np. "nr seryjny"

PEMI jest na tyle “dobre”, że oferuje przedsiębiorcom usługę pod nazwą e-Firma (raczej ją mgliście przedstawia) ale daje certyfiakty min do podpisywania kodu. Wszystko za darmo. Podpis elektroniczny w Polsce wg. PEMI:

    • Centra kwalifikowane:
      - PWPW Sigillum
      - TP Internet Signet (zawieszona działalność)
      - KIR
      - Unizeto Certum
    • Centra niekwalifikowane:
      - Polcert
      - Energocert
      - PCC EuroPKI

Podobne szerokie kompendium wiedzy na temat podpisu jest tu na stronach IPSEC.

Inna sprawa to wykorzystanie certyfiaktów do podpisywania kodu. Microsoft zawiera szereg programów wspierających ten proces – opis code signing jest tu. Ich lista znajduje się tu i można je pobrać ze strony Windows SDK (trzeba je ściągnąć), wsród nich jest signtool do podpisywania kodu certyfikatami. Innym poleceniem jest certmgr. Uwaga – ten polecenia certmgr.exe i inne wykonywać w katalogu z SDK (c:\program files\microsoft SDKs\Windows\v7.0A\bin)! W przeciwnym wypadku pojawi się wersja przystawkowa (msc). Certmgr.exe jest ważna ponieważ pozwala zarządzać CRL – tutaj na MSDN mamy opis. Powyższe programy wchodzą w skład “miękkiej” części Windows Client (klienckiej) - narzędzi do tworzenia oprogramowania. Z kolei z innej bajki jest równie pomocne polecenie certutil. Wchodzi w skład Serwera Windows 200X (a dokładnie jego komponentu tzw. Certificate Services) – a więc jest skierowane dla administratorów. Zarówno certutil jak i certmgr pozwalają na zarządzanie CRL (najbardziej interesujące jest odszyfrowanie formatu CRL i “wydruk” listy odwołanych certyfikatów). Można też samemu “odszyfrować” ten format – jest to ASN.1 (Abstract Syntax Notation 1).

Nierozerwalnie ze sprawami certyfikatów wiąże się karta inteligentna tzw. smartcard. Microsoft wybrał implementację PC/SC – to zresztą standard na komputery PC. Architektura programowa obsługi SC jest opisana tutaj na stronach MSDN.

Podpis można opatrzeć znacznikiem czas z bezpłatnego serwera publicznego - http://time.certum.pl.

Ciekawostka – usługi dodatkowe świadczone przez CERTUM: Notarius oraz sprawdzenie stanu certyfikatu w trybie on-line. Trzeba też sprawdzić ofety KIR, Sigillum i Mobitrust – na komórkę / Mobicert. Zagraniczne rozwiązania mają firmy: Aloha, Eldos a w odniesieniu do PDF – GlobalSign. Firma ta jest partnerem Adobe w projekcie CDS (Certified Document Services) – mówi o tym ten dokument. Jej oferta jest droga i różni się technicznie od naszgo podpisu z CERTUM tym, że głównym urzędem certyfiakcyjnym jest w tym przypadku nie polski urząd a sama firma ADOBE (ale za to każe sobie słono płacić). Przypomina się tam też, że PDF nie jest zamkniętym formatem -  a standardem ISO 32000-1. Kolejny standard ETSI/ESI Technical Standard (TS) 102 778 (w skrócie PAdES) – stanowi odpowiedź na spełnienie wymogów dyrektywy unijnej - 1999 EU Signature Directive.

Podobnie funkcje podpisywania dokumentów PDF ma biblioteka KIR napisana w języku Java.

piątek, września 23, 2011

Ciekawostki bez zagwozdki

Raport Gartnera – Gmail może zagrażać MS Exchange ale jeszcze mu wiele brakuje. Dzięki Gmail powstaje rynek na pocztę w chmurach (cloud email) – 50% to rozwiązania Google Gmail. Inni gracze dostaw usług poczty korporacyjnej tracą. MS też ma w środowisku .NET bibliotekę graficzną obsługującą wykresy – dokumentacja na MSDN.  Nowa wersja portalu BBC – zawsze stanowi wzór portalu dziennikarskiego. Kto wygrał najwięcej na konferencji BUILD? Chyba cały MS – przekonał niedowiarków, że jest jeszcze wiele do wymyślenia w rozwoju systemów operacyjnych. Ale bohaterem tego show jest Sinofsky – kreuje się chyba nowy tech evangelist podobnie jakim był Steve Jobs – proszę popatrzeć na jego prezentację. WebBrowser niejedno ma imię, jego wersja dla starych technologii COM i nowej platformy .NET.

poniedziałek, września 19, 2011

Kursy za darmo

Aplikacje mobile wg. IBM

W portalu DeveloperWorks firmy IBM znalazłem takie oto “perełki”:

I kto tu rządzi…?

Chodzi o HTML5 i powiązana z nim adaptacje tego standardu w urządzeniach mobilnych. Nikt nie wątpi, że HTML5 oraz urządzenia mobilne są powiązane ściśle z dwiema firmami: Apple (jest aktualnym liderem) i Google (goni za liderem). Obie firmy inaczej postrzegają proces tworzenia aplikacji mobilnych: Apple stawia na aplikacje natywne (kupowane przez sklep), Google na aplikacje  webowe wykonane w HTML5. Mimo to firma Apple stawia mocno na implementację standardu HTML5 w swoich urządzeniach widząc w nim suplement wielu zamkniętych technologii choćby flash-a. Dodatkowo Apple będąc samowystarczalnym w zakresie sprzętu i oprogramowania kładzie nacisk na maksymalne wykorzystanie akceleracji sprzętowej w swym systemie operacyjnym iOS – dzięki temu aplikacje HTML5 działają bardzo szybko. Jest jeszcze jeden fakt o którym się mało mówi dochód ze sprzedaży aplikacji w sklepie internetowym Apple odbija się małym wpływem na zyski firmy (stanowi 1% przychodów). Google chce walczyć z Apple – w związku z tym dziwi tak małe zaangażowanie w optymalizację przeglądarki pod kątem HTML5. Na podstawie materiałów z The Register.

Jak przyśpieszyć aplikacje webowe?

Są na to różne sposoby. Jeden z nich to porzucenie języka JavaScript na rzecz innego, bardziej optymalnego np. Dash/Dart proponowanego przez Google. Drugim rozwiązaniem jest udoskonalenie istniejącego JS w kierunku wykorzystania możliwości współczesnych procesorów wielordzeniowych (a więc równoległe przetwarzanie). Taką opcję zaprezentowała firma Intel swym IDF (Intel Developer Forum) – wg. the register. Takie stanowisko popiera CTO firmy Mozilla i twórca JS - Brendan Eich. Trzecią drogą jest przetwarzanie natywnego kodu – tzw. native client firmy Google (the register). Na razie jest ono dostępne dla przeglądarki Chrome i polega na uruchomieniu kodu C/C++ w przeglądarce internetowej (tak między nami G jest niszczycielem standardów – wprowadza w nowych wersjach przeglądarki Chrom ciągle nowe API np. ostatnio Web Audio API i nikogo o to nie pyta, postępuje podobnie jak kiedyś Microsoft). Jest to b. destruktywna polityka – miast koncentrować się nad tym co mamy czyli udoskonaleniem JS i istniejących standardów. W chwili obecnej NaCl działa na x86 32 i 64 bitowych w przyszłości będzie portowany do LLVM (tzw. low-level VM) gdzie kod bajtowy będzie przepisywany do kodu binarnego.

Ciekawe aplikacje na mój Defy

Lista ciekawych aplikacji na telefony z Androidem: edycja zdjęć tą mini aplikacją - https://market.android.com/details?id=com.adobe.psmobile, materiały z konferencji TED - https://market.android.com/details?id=com.ogqcorp.tpa&hl=en, zarządca plików - https://market.android.com/details?id=com.metago.astro&hl=en, zabójca procesów - https://market.android.com/details?id=com.rechild.advancedtaskkiller&hl=en, EverNote - https://market.android.com/details?id=com.evernote&hl=en