From db52e4d66d60184d53a27ba4d6772461daacc03d Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 22 Mar 2013 08:57:51 +0000 Subject: Maintenance update (bugfixes, new features, cleanup...) Refer to /dok/RELEASE_NOTES-3.3.txt for further information. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/pdf-as/trunk@931 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- dok/RELEASE_NOTES-3.3.txt | 280 +++++++++++++++++++++++++ dok/Spezifikation/PDF-AS-Spezifikation-2.3.pdf | Bin 0 -> 1761912 bytes dok/Spezifikation/PDF-AS-Spezifikation.doc | Bin 2341888 -> 2381312 bytes 3 files changed, 280 insertions(+) create mode 100644 dok/RELEASE_NOTES-3.3.txt create mode 100644 dok/Spezifikation/PDF-AS-Spezifikation-2.3.pdf (limited to 'dok') diff --git a/dok/RELEASE_NOTES-3.3.txt b/dok/RELEASE_NOTES-3.3.txt new file mode 100644 index 0000000..3682884 --- /dev/null +++ b/dok/RELEASE_NOTES-3.3.txt @@ -0,0 +1,280 @@ +RELEASE NOTES für PDF-AS 3.3 + + +MIGRATION VON PDF-AS 3.2 + + - Die Voraussetzung für eine Migration von PDF-AS 3.2 ist mindestens eine Java Laufzeitumgebung mit Version 1.5. + + - Bestehende Konfigurationen können unverändert verwendet werden. Es wird jedoch empfohlen, die + Referenzkonfiguration bzw. eine darauf aufbauende Konfiguration zu verwenden. Die Referenzkonfiguration ist nun + wesentlich übersichtlicher gestaltet und ausführlicher inline dokumentiert (siehe auch Abschnitt "KONFIGURATION" + unten). + + - Folgende abhängige Bibliotheken müssen ersetzt werden: + commons-codec-1.3.jar -> commons-codec-1.6.jar + commons-io-1.1.jar -> commons-io-2.2.jar + commons-lang-2.3.jar -> commons-lang-2.6.jar + core-1.6-SNAPSHOT.jar -> core-1.6-jdk14.jar + javase-1.6-SNAPSHOT.jar -> javase-1.6-jdk14.jar + itext-2.1.5-rev3628-pdfas-1.1.jar -> itext-2.1.5-rev3628-pdfas-1.2.jar + Die neuen Versionen finden sich in den jeweiligen Release-Paketen. + + - Wird die Referenzkonfiguration verwendet, muss berücksichtigt werden, dass mit folgenden Signaturprofilen keine + Signaturen mehr erzeugt werden dürfen bzw. können: + + AMTSSIGNATURBLOCK_DE_DEPRECATED + AMTSSIGNATURBLOCK_EN_DEPRECATED + SIGNATURBLOCK_DE_DEPRECATED + SIGNATURBLOCK_EN_DEPRECATED + + +ALLGEMEINE ÄNDERUNGEN + + - Java 1.4 wird nicht mehr unterstützt. Die Mindestvoraussetzung ist nun Java 1.5. + + - Das ursprüngliche Single-Modul Maven Projekt ist nun als Multi-Modul Projekt ausgeführt, bestehend aus den + Modulen: + pdf-as-lib: + Die PDF-AS Core API. Die Bibliothek kann von Fachapplikationen wie bisher verwendet werden. + pdf-as-web: + Eine eigenständige PDF-AS Webanwendung (siehe auch http://www.buergerkarte.at/pdf-as). + pdf-as-cli: + Eine Commandline Version von PDF-AS. + pdf-as-release: + Release-Modul, das die drei o.g. Module in einem Release-Paket vereint. + + - Die Webanwendung wird bereits inkl. Apache Tomcat sowie entsprechender Konfiguration und StartScripts erstellt + und kann sofort verwendet werden. + + - Die PDF-AS API wird nun wie folgt als Maven Dependency referenziert (groupId und artifactId haben sich geändert): + + eu.europa.ec.joinup.egovlabs.pdf-as + pdf-as-lib + 3.3 + + + - Sonderzeichen wurden aus dem Source-Code entfernt und dieser auf UTF-8 Encoding umgestellt. + + - Sämtliche .printStackTrace() Anweisungen wurden entfernt. + + - Einführung einer internen Standard-Konfiguration (classpath:/config/defaultconfig.properties). Diese Standard- + Konfiguration entspricht der PDF-AS Referenz-Konfiguration (config.properties), enthält jedoch keine + Signaturprofile. Sämtliche Einträge werden von der jeweilig verwendeten Konfiguration überschrieben. + + - Folgende abhängige, d.h. von PDF-AS verwendete Bibliotheken wurden aktualisiert: + commons-codec-1.3.jar -> commons-codec-1.6.jar + commons-io-1.1.jar -> commons-io-2.2.jar + commons-lang-2.3.jar -> commons-lang-2.6.jar + core-1.6-SNAPSHOT.jar -> core-1.6-jdk14.jar + javase-1.6-SNAPSHOT.jar -> javase-1.6-jdk14.jar + itext-2.1.5-rev3628-pdfas-1.1.jar -> itext-2.1.5-rev3628-pdfas-1.2.jar + Hinweis: Diese Abhängigkeiten müssen bei der Migration von PDF-AS 3.2 auf 3.3 berücksichtigt werden. Siehe auch + Abschnitt "MIGRATION". + + - Abhängigkeiten zu folgenden Bibliotheken wurden entfernt: + xml-apis-1.3.02.jar + + - Die folgenden Signaturprofile gelten als veraltet: + AMTSSIGNATURBLOCK_DE_DEPRECATED + AMTSSIGNATURBLOCK_EN_DEPRECATED + SIGNATURBLOCK_DE_DEPRECATED + SIGNATURBLOCK_EN_DEPRECATED + Diese sind in der Referenzkonfiguration nun so konfiguriert, dass sie nur noch zur Signaturprüfung, nicht aber zum + Erzeugen von Signaturen verwendet werden können. + + - Folgende Bürgerkartenumgebungen werden unterstützt (Liste der Identifier entsprechend nach + http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/bindings/bindings.html#http.kodierung.response): + + A-Trust + lokale BKU + citizen-card-environment/1.2 asignSecurityLayer/1.3.3 + citizen-card-environment/1.2 asignSecurityLayer/1.4.1 + citizen-card-environment/1.2 asignSecurityLayer/1.4.2 + Handy-Signatur + citizen-card-environment/1.2 asignMobileBku/1.1.0 + Handy-Signatur (Test) + citizen-card-environment/1.2 atrustHandyBku/1.1.0 + + IT-Solution trustDesk Basic + citizen-card-environment/1.2 trustDeskbasic[-OSX|-Linux]/2.7.*|2.8.*|3.0.* + + MOCCA + citizen-card-environment/1.2 MOCCA/*[-X14] + + +NEUE FUNKTIONEN + + - Unterstützung von XAdES 1.4 basierten Signaturen durch MOCCA. Dazu wurde ein neuer Signaturparameter + "etsi-moc-1.2" eingeführt (siehe auch aktualisierte PDF-AS Spezifikation 2.3). + + - Erkennung verschlüsselter Dokumente. + + - Spezieller Logger für statistische Informationen. + + - Import von Konfigurationsdateien via Include-Anweisung. + + - Vereinfachung der Konfiguration durch Beschränkung auf die wesentlichen Optionen sowie durch Trennung der + Signaturprofile in einzelne Konfigurationsdateien (z.B. SIGNATURBLOCK_DE.properties), die nun mittels + Include-Anweisung eingebunden werden. + + - Verwendung einer fortgeschrittenen Konfiguration (advancedconfig.properties), die sämtliche + Konfigurationsmöglichkeiten bietet. + + - Möglichkeit, einzelne Profile zusätzlich zum bisherigen Ein- bzw. Ausschalten nun auch nur für die Signatur oder + nur für die Verifikation zuzulassen. So können veraltete Profile noch für die Verifikation verwendet werden, ohne + damit die Möglichkeit zu erlauben, neue Signaturen zu erzeugen. + + - Web-Applikation: Verbesserung der Integrationsmöglichkeit in bestehende Webseiten. + + +BEHOBENE BUGS + + Modul pdf-as-web: + + - null_request_page.jsp: NullPointerException behoben. + + Modul pdf-as-lib: + + - Leere Signatur-Parameter im Signaturblock führten bisher zu einem Fehler. Leere Signatur-Parameter müssen laut + PDF-AS Spezifikation (Abschnitt 5.1.1) als MOA-SS Signaturen interpretiert werden. + + - Die Konfiguration der QR-Code Signaturplatzhalter "enable_placeholder_search=true|false" wurde bisher + ignoriert. + + - Einige Dokumente mit strukturiertem Inhalt ("tagged documents") führten zu internen Fehlern. Nun wurde ein + Fallback-Mechanismus integriert, der Dokumente mit fehlerhaften oder fehlenden Strukturinformationen dennoch + signiert. + + - Das verarbeitete PDF-Dokument wurde bisher in einigen Fällen nicht geschlossen, bzw. damit PdfBox/iText + Ressourcen nicht freigegeben. + + - Im Falle von unsichtbaren Signaturen wurden bisher unter Umständen leere Seiten hinzugefügt. + + - Fehlerhafte Verarbeitung von Signaturen behoben, deren Zertifikat einen Issuer-Namen mit Beistrich in einem + der RDNs (Relative Distinguished Name) aufwies, z.B. + "...,CN=Go Daddy Secure Certification Authority,O=GoDaddy.com\, Inc.,L=Scottsdale,..." + + - Die PDF/A-1b-Konformität eines Dokuments war bisher nach der Signatur mit PDF-AS trotz Verwendung eines + PDF/A-aktivieren Signaturprofils (z.B. SIGNATURBLOCK_DE_PDFA) unter Umständen nicht mehr gegeben. PDF/A setzt + die Verwendung von geräteunabhängigen Farbräumen voraus. PDF-AS bzw. die zugrundeliegende iText-Library + verwendet grundsätzlich jedoch geräteabhängige Farbräume. Deshalb wird nun bei der Signatur mit einem + PDF/A-aktivierten Signaturprofil ein geräteunabhängiges ICC-Farbprofil in das Dokument eingebettet, wodurch + dieses PDF/A-konform bleibt. + + - Fehlerhafte Verarbeitung von signierten Dokumenten mit Inkrementellen Updates behoben. Spezielle + Konstellationen von Trailer und Cross-Reference Tabelle eines Inkrementellen Updates führten zu einem internen + Fehler. + + - Fehlerhafte Verarbeitung verschlüsselter Dokumente behoben: Beim Versuch, ein verschlüsseltes Dokument zu + laden wird nun statt einem undefinierten internen Fehler ein entsprechender Fehler mit Fehlercode (231) + generiert. + + - Automatische Positionierung des Signaturblocks verbessert bzw. Probleme mit speziellen PDF-Elementen behoben. + + +KONFIGURATION + + - Die PDF-AS Konfiguration ist abwärtskompatibel zu älteren PDF-AS Versionen. Eine bestehende Konfiguration kann + ohne Anpassung verwendet werden, nutzt dann allerdings unter Umständen auch nicht die neuen Features. + + - Die PDF-AS Konfiguration erfolgt wie bisher auch über die Datei config.properties. Die Referenzkonfiguration wurde + jedoch sehr stark vereinfacht, d.h. selten verwendete Konfigurationsschlüssel wurden in eine "fortgeschrittene + Konfiguration" (advancedconfig.properties) ausgelagert. Diese fortgeschrittene Konfiguration wird mittels mit der + neuen Include-Funktion (siehe unten) von config.properties aus eingelesen. + + Konkret wurden folgende Konfigurationsschlüssel von config.properties nach advancedconfig.properties verschoben: + assume_only_signature_blocks = false + binary_only = false + bku.available_for_commandline = true + bku.available_for_web = true + bku.sign.KeyboxIdentifier = SecureSignatureKeypair + check_document = true + check_old_textual_sigs = true + correct_document_if_necessary = true + correct_document_on_verify_if_necessary = true + corrector = internal + default.SIG_BAIK_ENABLED = false + default.SIG_PDFA1B_VALID = false + default.adobeSignFieldValue = PDF-AS Signatur + default.adobeSignReasonValue = Informationen zur Pr\u00FCfung finden Sie unter http://www.signaturpruefung.gv.at + default.adobeSignText.binary = PDF-AS + default.adobeSignText.textual = PDF-AS + default.sigLogoAltText = Abgebildet ist eine Standard-Signaturbildmarke. + default.signature_block_width_warning_threshold = 150 + default.verifyURL = http://www.signaturpruefung.gv.at + defaults.phlength.SIG_ALG = 100 + defaults.phlength.SIG_ID = 70 + defaults.phlength.SIG_NAME = 210 + defaults.phlength.certificate = 10000 + defaults.phlength.line_break_tolerance = 10 + defaults.phlength.timestamp = 5000 + enable_placeholder_search = false + external_corrector_commandline = C:/correct.exe "##input_document##" "##output_document##" + external_corrector_timeout = 15000 + moa.available_for_commandline = true + moa.available_for_commandline = true + moa.available_for_web = true + moa.available_for_web = true + moa.sign.console.detached.enabled = false + mobiletest.sign.KeyboxIdentifier = SecureSignatureKeypair + moc.available_for_commandline = false + moc.available_for_web = true + moc.sign.KeyboxIdentifier = SecureSignatureKeypair + strict_mode = false + supress_exception_when_last_iublock_is_no_signature = false + + - Grundsätzlich gibt es in PDF-AS vier Konfigurationsebenen (zwei interne und zwei lokale): + + (a) Eine interne Konfiguration (classpath:/config/pdf-as.properties), die ausschließlich Eigenschaften der + spezifischen PDF-AS Implementierung definiert (z.B. unterstützte BKUs, verwendete Templates, usw.). Diese + Konfiguration kann nicht durch andere Konfigurationsebenen überschrieben werden. Es wird ausdrücklich davon + abgeraten, diese Einstellungen zu verändern! + + (b) Eine interne Standard-Konfiguration (classpath:/config/defaultconfig.properties), die inhaltlich exakt + der Einstellungen der fortgeschrittenen Konfiguration (c) entspricht, genau wie diese jedoch keine + Signaturprofile definiert. Sämtliche Einstellungen aus der internen Standard-Konfiguration können durch (c) + bzw. (d) überschrieben werden. + + (c) Eine lokale Datei advancedconfig.properties, die ein vollständiges Set an möglichen Konfigurationsschlüssel + enthält. Die Datei wird durch die Include Anweisung in (d) "include.advancedconfig = advancedconfig.properties" + eingebunden. + + (d) Die bereits bekannte lokale Datei config.properties. Diese setzt ggf. Konfigurationsschlüssel die von den + Standardwerten aus (b) abweichen sowie lädt Signaturprofile mittels Include-Anweisung. + + - Include Mechanismus: Es ist nun möglich von einer Konfigurationsdatei aus, weitere Konfigurationsdateien zu laden. + Dies erfolgt beispielsweise bereits in der Datei config.properties (d) der Referenzkonfiguration dieses Releases: + + z.B. + # Standard-Profile + include.01 = profiles/INVISIBLE.properties + include.02 = profiles/SIGNATURBLOCK_DE.properties + include.03 = profiles/SIGNATURBLOCK_DE_DEPRECATED.properties + include.04 = profiles/SIGNATURBLOCK_DE_NOTE.properties + + Die Anweisung besteht aus dem Schlüsselwort "include.BELIEBIGER_BEZEICHNER" sowie dem relativen Pfad zur + einzubindenden Datei, der auch aus Wildcards bestehen kann. "BELIEBIGER_BEZEICHNER" muss durch ein beliebiges + Schlüsselwort ersetzt werden. Dieses muss zusammen mit dem Prefix "include." einen eindeutigen Schlüssel darstellen: + + z.B. + # Amtssignatur-Profile + include.amtssignaturprofile = profiles/AMTSSIGNATURBLOCK*.properties + # PDF/A Profile + include.pdfa = profiles/*PDFA.properties + # Unsichtbares Profil + include.invisible = profiles/INVISIBLE.properties + + - Eine ausführliche Beschreibung sämtlicher Konfigurationsparameter findet sich inline in den jeweiligen lokalen + Konfigurationsdateien (c) und (d). + + - Der folgende Konfigurationsschlüssel wurde aus der lokalen Konfiguration (d) entfernt und fix in die interne + Konfiguration (a) eingetragen. Diese Einstellung kann nicht überschrieben werden: + + default.adobeSignEnabled = true + + (Diese Einstellung fügt eine Signaturkennzeichnung - so wie von Adobe eigentlich vorgesehen - in das Dokument ein. + Signierte Dokumente sind dadurch vor versehentlichen Änderungen geschützt. Würde dies nicht erfolgen, könnten binäre + Signaturen beim Abspeichern der Dokumente versehentlich entfernt werden.) + + +Thomas Knall, Datentechnik Innovation GmbH diff --git a/dok/Spezifikation/PDF-AS-Spezifikation-2.3.pdf b/dok/Spezifikation/PDF-AS-Spezifikation-2.3.pdf new file mode 100644 index 0000000..6223499 Binary files /dev/null and b/dok/Spezifikation/PDF-AS-Spezifikation-2.3.pdf differ diff --git a/dok/Spezifikation/PDF-AS-Spezifikation.doc b/dok/Spezifikation/PDF-AS-Spezifikation.doc index 55393f2..f890d38 100644 Binary files a/dok/Spezifikation/PDF-AS-Spezifikation.doc and b/dok/Spezifikation/PDF-AS-Spezifikation.doc differ -- cgit v1.2.3