Archive for the ‘PDF’ Category

Ciekawostki   Leave a comment

Posted 18 listopada 2014 by marekwmsdn in PDF

Różności   Leave a comment

Posted 19 czerwca 2012 by marekwmsdn in Crystal Reports, Dzieci, Eclipse, linq, PDF, Podpis, Tutotiale, WCF

Podpisywanie PDF-ów   Leave a comment

Temat rzeka jak można by rzec. Do niego postaram się dodać jeszcze trochę:

  1. Używasz biblioteki iText i nie chcesz za nią płacić? Ogranicz się do wersji sprzed 5+.
  2. Guru od programowego podpisywania PDF, autor biblioteki iText, Bruno Lowagie opublikował pierwszą (i jak obiecuje nie ostatnio) prezentację na temat tej biblioteki – http://lowagie.com/node/60, mowa w niej o ogólnej koncepcji podpisu dokumentu PDF.
  3. Materiały z ostatniej sesji o iText – http://lowagie.com/summit2012presentations
  4. Bardzo dokładna i techniczna analiza podpisywania PDF –http://www.securitystandard.pl/news/327774_7/Podpis.elektroniczny.w.dokumentach.Adobe.PDF.html. Oprócz podpisania dokumentu (co daje integralność, autentyczność i niezaprzeczalność) można go też zabezpieczyć – http://www.securitystandard.pl/news/172792_4/Bezpieczenstwo.dokumentow.Adobe.PDF.html.
  5. Do rozpoznania:
    1. Podpis PAdES – jak do tego podejść, iText obiecuje jego wsparcie, aplet Szafir od KIR już go implementuje
    2. Przejście z XFA (XML Forms Architecture) do PDF – prezentacja z parleys:  http://www.parleys.com/#st=5&id=3186&sl=1 – kiedyś był AcroForm ale on miał statyczne rozmiary i właściwości, potem iText wymyślił HTMLWorker, teraz wprowadził XML Worker (to on przekształca tekst opisany w XML na PDF). Chodzi o to, że mamy wiele dokumentów przechowywanych w różnej maści formatach HTML-owo podobnych np. XHTML, XML – i dzięki temu możemy je automatycznie przekonwertować do PDF. Takie próby czynił już IBM eksperymentując z  XFO. Jest to oryginalny pomysł – tworzymy coś w HTML i przekształcamy go w coś co się ładnie drukuje i prezentuje czyli w PDF!
  6. Materiały z konferencji na temat PDF w 2012:
    1. http://www.parleys.com/#st=5&id=3186&sl=16
  7. Hackowanie swojego routera – http://www.dd-wrt.com/site/support/faq, https://openwrt.org/. Jak to się robi? Na lifehacker jest link jak również na howto.weired.com.

Posted 19 czerwca 2012 by marekwmsdn in Bezpieczeństwo, iText, PDF

Co z tymi PDF-ami?   Leave a comment

Kapitalne źródło informacji to listy mailingowe i fora. Do takiej sztandarowej listy zaliczamy

<itext-questions@lists.sourceforge.net>

 

Wiele osób (a właściwie w przypadku .NET większość) używa biblioteki iText do transformacji HTML do PDF. Do niedawna mogli stosować bibliotekę HTMLWorker ale wraz z nową wersją iText pojawiają się sugestie by przejść na inną XMLWorker. Zasoby na ten temat:

– project page : https://sourceforge.net/projects/xmlworker/

– demo : http://demo.itextsupport.com/xmlworker/

– documentation : http://demo.itextsupport.com/xmlworker/itextdoc/index.html

Tak w ogóle przejście na wersję iText 5 z 4 przyniosło bardzo wiele zmian np. w strukturze API (przejście na typy generyczne w C#) oraz bardziej restrykcyjna licencja.

Bardzo wiele tematów około PDF porusza witryna planetPDF.

Posted 6 czerwca 2012 by marekwmsdn in iText, PDF

Odpryski na temat podpisywania PDF   Leave a comment

Informacje z forum na temat wykorzystania iTEXT w praktyce (jak widać, same problemy):

  1. http://itext-general.2136553.n4.nabble.com/HASH-SMARTCARD-and-PKCS-7-detached-td3047252.html
  2. Wiele odpowiedzi może dać to –http://www.itextpdf.com/book/
  3. Serwerowe podpisywanie (masowe) – http://sourceforge.net/projects/sirius-sign/files/latest/download
  4. Odebranie po stronie Java podpisanego dokumentu – http://bozhobg.wordpress.com/2009/07/02/how-to-obtain-signers-details-from-a-javascript-signed-data/
  5. Podpisanie dokumentu w przeglądarce po stronie klienta – http://bozhobg.wordpress.com/2009/04/16/how-to-create-a-digital-signing-solution-with-only-javascript/

Posted 20 lutego 2012 by marekwmsdn in iText, PDF

Ciekawe linki   Leave a comment

Świetny kurs JS – http://jqfundamentals.com/book/index.html, a informacja pochodzi ze strony – http://citizen428.net/blog/2010/08/12/30-free-programming-ebooks/. Praca z PDF-ami. Zapełnienie formularza przygotowanego w PDF-ie poprzez program – http://www.codeproject.com/Articles/23105/Programmatically-Complete-PDF-Form-Fields-using-Vi. Uproszczone wprowadzenie do szyfrowania w .NET – http://www.codeproject.com/Articles/10154/NET-Encryption-Simplified.

Ciekawy artykuł na temat parsowania formatu PDF – http://www.codeproject.com/Articles/12445/Converting-PDF-to-Text-in-C.  Autor przucił bibliotekę itext na rzecz PDFBox. (piękny link z muzyką – http://pdfbox.org/sugar-hill-gang-apache-jump-on-it/). Aktualny link do ściągnięcia – PDFBOX –> http://sourceforge.net/projects/pdfbox/files/latest/download?source=files. To wszystko działa dzięki IKVM.NET. Inny projekt to scalanie plików PDF – http://www.codeproject.com/Articles/28283/Simple-NET-PDF-Merger.

Podpis cyfrowy PDF – opis jak to zrobić – http://www.codeproject.com/Articles/14488/E-signing-PDF-documents-with-iTextSharp wraz z kodami źródłowymi oraz podobna biblioteka – http://www.codeproject.com/Articles/29274/Digital-Signatures.

Super cytat – “He usually works late hours with some heavy music and prefers to test and prove everything to his own satisfaction before committing himself and likes to finish what he starts without interruptions. ” z http://www.codeproject.com/Articles/6623/Porting-Java-Public-Key-Hash-to-C-NET na temat wymiany kluczy między Javą (Unix) a .NET-em.

Wymienialność kryptograficzna między Javą a .NET-em:

Informacja o dodatkowej funkcjonalności w C# przy przejściu z wersji 2.0 do 4.0 – http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0

Posted 20 lutego 2012 by marekwmsdn in C#, Interoperability, iText, Java, JavaScript, Kryptografia, PDF

Różności o PDF-ach   Leave a comment

Oficjalny blog bezpieczeństwa firmy ADOBE – http://blogs.adobe.com/security/page/2. Adobe energicznie promuje swój format PDF. Dodaje zabezpieczenia i podpisy.  Ale są pewne kłopoty związane z wprowadzeniem “piaskownicy” tzw. trybu chronionego (Protected Mode). Czasami nie chcą  się zainstalować czytniki kart. Obejście jest podane tutaj – http://kb2.adobe.com/cps/860/cpsid_86063.html#main_smartcard. Po wykupieniu firmy echosign Adobe zaproponowała także nową usługę – https://secure.echosign.com/public/home – nawet się tam zarejestrowałem – https://secure.echosign.com/public/home

Posted 9 lutego 2012 by marekwmsdn in PDF

Ciekawostki programistyczne   Leave a comment

Dużo mówi się o nowych językach programowania choćby wspomnieć o Dart (firmowana przez Google odmiana JS), podczas gdy stare są wciąż niedoceniane. Tak jest w przypadku Haskell’a. Jego ciekawe cechy zostały opisane na stronie tutaj gdzie opisano nawet framework do pracy z tym językiem. Jak widać  tu jak i w przypadki innych wschodzących języków (np. Ruby ma RoR) liczy się nie tyle język ile infrastruktura wokół niego jak biblioteki, frameworki czy inne narzędzia wspomagające.

Innym, pomocnym narzędziem a na dodatek agnostycznym względem języka  jest  Cloud9 IDE – http://c9.io/. Jak nazwa wskazuje jest to narzędzie – edytor do tworzenia oprogramowania w różnych językach. Dla projektów open-source jest ono darmowe. W dużej mierze to IDE wspiera node.js. Do języka node.js (serwerowej odmiany JS  jest niezły tutorial  – http://nodemanual.org/latest/nodejs_dev_guide/creating_http_requests.html). Uwaga Cloud9 IDE nie lubi IE8!.

Zasoby do nauki programowania:

Ciekawe dwie strony (z których wychodzi wiele innych, ciekawych pomysłów):

  1. Portal codemirror.net –
  2. Tworzenie rozszerzeń do przeglądarek – http://kangoextensions.com/ – cała maszyneria do tego jak się tworzy przykładowe rozszerzenie pokazane jest tu – http://kangoextensions.com/blog/kangogmailchecker/. Tworzy rozszerzenia nawet dla IE!
  3. Strona o jQ – http://anton.shevchuk.name/jquery/ ale autor jest też twórcą jQuery-PHP oraz Online Chart Buildera. Fajny tutorial o jQ, np. o animacji – http://anton.shevchuk.name/javascript/jquery-for-beginners-write-animation-plugins/
  4. I o closure – http://anton.shevchuk.name/javascript/google-closure-for-beginners-components/

Oracle – dostęp do bazy poprzez .NET w  VS:

  1. http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html?msgid=3-5804196843
  2. http://www.oracle.com/technetwork/topics/dotnet/oow-events11-452985.html?msgid=3-5804196843

Ciekawostki w ostatnią niedzielę września   Leave a comment

Owocem współpracy MS i Nitobi jest wyspecjalizowana wersja Phone Gap dla WP7. Firma Nitobi prowadzi specjalny blog na temat telefonów mobilnych i tworzeniu dla nich aplikacji. Nitobi daje wiele innych narzędzi oprócz Phone Gap, są także faremworki JS-owe. Do tego dochodzą frameworki w JS np: jQ Mobile, jQ Toucj, Jo, Sencha Touch, XUI, Sproutcore – słowem do wyboru do koloru. Obserwuj co się dzieje na portalu eAndroidowo oraz obserwuj SL4 na google code – tam są implementacje natywnych aplikacji w środowiskach języków dynamicznych (PHP,Python). Może też KendoUI na bazie jQuery ma coś do zaoferowania.

Kolejny kurs JS – http://windowshosting.pl/Kurs.JavaScriptu..Podstawy.programowania.na.potrzeby.stron.WWW

Ostatnio Panda Cloud osiągnęła niezłe wyniki w skanowaniu – webhosting. Do ochrony przed starymi wersjami oprogramowania można wykorzystać PSI firmy Secunia.

Obserwować inne twitter-y: blip/flaker

Ukryte koszty jakie ponoszą klienci Google Apps for Enterprise – infografika

Do tworzenia PDF w środowisku PHP zaleca się http://www.fpdf.org/ chociaż najlepsze jest PDFlib. Na tej stronie są także odwołania do portów tej biblioteki na inne paltformy językowe np. COM, ASP, Java czy Python. Oczywiście najważniejsza strona dla deweloperów to portal ADOBE. Narzędzia PDF-owe w postaci biblioteki xpdf – http://www.foolabs.com/xpdf/download.html. Ogólne sprawy pdf-owe są na poratlu pdfzone (np. ciekawy link: http://www.pdfzone.com/c/a/Authoring/Creating-a-Basic-PDF-Form/). Inne PDF-owe aplikacje (na foolab):

  • PostScript-to-PDF converters:
    • pstoedit converts from PostScript to many formats, including PDF; it also converts PS or PDF to other vector formats.
    • Ghostscript can display PDF files, and also includes a PostScript to PDF converter.
    • PStill is a shareware PostScript-to-PDF converter.
  • Other PDF converters/generators:
  • PDF format info:
  • TeX and PDF:
    • pdftex lets TeX produce PDF output.
  • Miscellaneous links:

Podobno najlepszy program do oglądania PDF (wg. lifehackera) – http://www.tracker-software.com/product/pdf-xchange-viewer

Portal dla .NET-owców – http://dotnetomaniak.pl/Category/Windows/3

Co tam panie na rynku przeglądarek? Dominuje jeszcze IE – http://windowshosting.pl/Miliard.Chinczykow.nie.moze.sie.mylic.w.badaniu.Net.Applications.wygrywa.Internet.Explorer i http://webhosting.pl/Tymczasem.na.rynku.przegladarek.Firefox.traci.coraz.wiecej.udzialu.w.rynku.jakie.sa.tego.powody

Posted 25 września 2011 by marekwmsdn in .NET, Android, Ciekawostki, Developerka, Mobile, PDF, PHP

Sprawa certyfikatów   Leave a comment

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.