Material zum Praktikumsversuch

Größe: px
Ab Seite anzeigen:

Download "Material zum Praktikumsversuch"

Transkript

1 Material zum Praktikumsversuch Stand: März 2005, zusammengestellt von: Michael Psarros (Lehrstuhl NDS) Version 1.2 Grundpraktikum zur IT-Sicherheit XML Verschlüsselung und Signatur Lehrstuhl für Netz- und Datensicherheit ruhr-universität bochum Bitte beachten Sie, dass dieser im Raum IC4/58 stattfindet. Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 1/13

2 Was ist XML? Um die Frage zu beantworten schauen wir am besten ein Beispiel an: <?xml version="1.0" encoding="iso "?> <!DOCTYPE CONTACTLIST SYSTEM "contacts.dtd"> <CONTACTLIST> <CONTACT> <NAME>Michael Psarros</NAME> <ADDRESS>Gebäude IC 4 / 152</ADDRESS> <PHONE type="office"> </PHONE> <PHONE type="fax"> </PHONE> </CONTACT> </CONTACTLIST> Die Abbildung zeigt ein XML-Dokument, das die Kontaktinformationen von einer Person enthält. Folgende Dinge fallen an diesem Beispiel auf: Bei den ersten beiden Zeilen handelt es sich um eine Versionsangabe, die Angabe eines Zeichensatzes sowie die Definition eines Dokumenttyps. Darum kümmern wir uns später. Die Informationen in einem XML-Dokument werden durch einleitende und abschließende Textelemente eingegrenzt. So steht im Beispiel der Name der jeweiligen Person zwischen <NAME> und </NAME>. Diese Textelemente heißen Tags. Ein einleitendes Tag muss immer auch abgeschlossen werden. Das abschließende Tag erkennt man am Schrägstrich (/), der als erstes Zeichen auftaucht. Tags sind immer in eckige Klammern (<...>) eingeschlossen. Ein Tag kann mit Attributen versehen werden. Im Beispiel besitzt das Tag PHONE ein Attribut. Das Attribut besitzt den Namen type und kann Werte wie office oder fax annehmen. Ausnahmslos alle XML-Dokumente sind hierarchisch, oder baumartig, aufgebaut. Im Beispiel macht sich das dadurch bemerkbar, dass ein äußerstes Tag CONTACTLIST existiert, das alle inneren Tags umschließt. Innerhalb von CONTACTLIST dürfen im Beispiel beliebig viele CONTACT Tags auftauchen. Die CONTACT Tags wiederum enthalten die eigentlichen Kontaktangaben. Es handelt sich dabei um den Namen, die Adresse, Telefonnummern mit unterschiedlichem Typ sowie die -Adresse einer Person. Zur Terminologie: Elemente sind die grundlegenden Bausteine von XML. Beispiele für XML-Elemente sind CONTACTLIST, CONTACT oder MAIL. Ein Element kann einfachen Text oder andere XML-Elemente enthalten. Ein Element kann auch leer sein. Tags werden zur Kennzeichnung sowie zur Abgrenzung von Elementen in einem XML-Dokument benutzt. Ein Start-Tag wie <ELEMENTNAME> markiert den Beginn eines Elements. Das zugehörige End-Tag </ELEMENTNAME> kennzeichnet das Ende eines Elements. Attribute stellen Zusatzinformationen zu einem Element zur Verfügung. Attribute erscheinen immer im Start- Tag eines Elements. Sie haben einen Namen und einen Wert. Im Beispiel besitzt das Element PHONE ein Attribut mit dem Namen type, das unterschiedliche Werte annehmen kann. Was ist XML? Jetzt aber wirklich... XML ist eine Möglichkeit, Daten zu strukturieren. Wie im Beispiel gezeigt, lassen sich mittels XML Daten strukturiert darstellen. Jede Information in einem Dokument ist mit Hilfe der umschließenden Tags eindeutig gekennzeichnet und zwar in einer Form die von Computer bearbeitet werden kann. Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 2/13

3 XML ist ein Standard. XML wurde und wird vom World Wide Web Consortium (kurz: W3C) entwickelt. Das W3C ist die Organisation, die sich um die Weiterentwicklung des WWW sowie der zugehörigen Standards kümmert. Dazu gehören so wichtige Standards wie HTML, HTTP, CSS und viele andere. Der Einsatz von XML sowie den begleitenden Standards ist frei von jeglichen Lizenzgebühren möglich. Außerdem: Aufgrund der Tatsache, dass es sich bei XML um einen offiziellen und akzeptierten Standard handelt, werden zahlreiche begleitende Tools oder Werkzeuge angeboten. Diese Tools erleichtern das Erstellen und die Verarbeitung von XML-Dokumenten. Viele dieser Tools sind kostenlos erhältlich. XML ist textbasiert. Ein XML-Dokument ist nichts anderes als ein einfaches Textdokument, das auf eine definierte Art und Weise aufgebaut ist. Dadurch können XML-Dokumente problemlos und unabhängig vom benutzten Computer oder Betriebssystem gelesen und mit einem beliebigen Texteditor bearbeitet werden. Mit nicht textbasierten Datenformaten (zum Beispiel Word- oder Excel-Dateien) ist dies nicht uneingeschränkt möglich. XML ist nicht nur XML. XML bildet die Basis einer ganzen Reihe von Techniken, Standards und Konventionen. XML definiert, wie strukturierte Daten in einem Textdokument dargestellt werden. Neben XML gibt es zum Beispiel den wichtigen Standard XSL (Extensible Stylesheet Language). Mit Hilfe von XSL kann festgelegt werden, wie ein XML- Dokument für unterschiedliche Ausgabemedien dargestellt werden soll. Eine so genannte Document Type Definition oder kurz DTD legt fest, wie XML-Dokumente eines bestimmten Typs auszusehen haben. Verschiedene andere Standards beschreiben beispielsweise, wie von einem XML-Dokument auf ein anderes (oder Teile davon) verwiesen werden kann oder wie mathematische Formeln mit Hilfe von XML spezifiziert werden können. XML ist erweiterbar. XML steht ausgeschrieben für Extensible Markup Language. "Extensible" ist Englisch für "erweiterbar", die Erweiterbarkeit ist also schon im Namen der Technologie verankert. In XML sind keine Tags vordefiniert. Der Autor von XML- Dokumenten kann und muss alle nötigen Tags selber definieren. Das ist ein Vorteil, denn auf diese Weise können für beliebige Informationen die passenden Tags oder Attribute sowie eine geeignete Dokumentstruktur festgelegt werden. Was sind DTD und XML-Schema? XML-Dokumente sind erweiterbar. Es lassen sich beliebig komplexe Strukturen mit beliebigen Tag- und Attributnamen erstellen. Eine DTD (Document Type Definition) hilft dabei, die Struktur und den genauen Aufbau von XML-Dokumenten festzulegen. Mit Hilfe einer DTD wird die Struktur von XML-Dokumenten verbindlich und zentral festgelegt. Alle XML-Dokumente desselben Typs können anhand derselben DTD bezüglich ihrer Struktur geprüft werden. Das ist hilfreich, weil viele XML-Editoren und andere XML-verarbeitende Tools eine solche Prüfung nach Wunsch automatisch vornehmen können. Auf diese Weise werden Sie als Autor oder Benutzer von XML-basierten Informationen sofort auf allfällige Strukturverletzungen aufmerksam gemacht. Die automatisierte Prüfung ist insbesondere dann nützlich, wenn Informationen von anderen Personen empfangen werden und vor der Weiterverarbeitung im Hinblick auf die strukturelle Gültigkeit geprüft werden sollen. Außerdem sind DTDs ein hilfreiches Werkzeug, wenn sich mehrere Personen oder Organisationen über ein gemeinsam unterstütztes Format zum Datenaustausch einigen wollen. In solchen Fällen legt die DTD das gemeinsame Format eindeutig und formalisiert fest. Nach Einführung der DTDs wurde festgestellt, dass einige Limitierungen da waren. Speziell ist eine DTD in SGML und nicht XML beschrieben und es fehlte ihnen die Fähigkeit, Elemente hinsichtlich Datentypen zu beschreiben, Validierungsbereiche zu definieren oder Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 3/13

4 Elemente mit Namensräumen zu verkapseln. Um diese Probleme zu lösen, wurde durch die XML Schema Definition der Begriff der XML-Schemata eingeführt. DTD Hier ist die DTD des einführenden XML-Beispiels mit den Kontaktinformationen: <!ELEMENT CONTACTLIST (CONTACT)*> <!ELEMENT CONTACT (NAME, ADDRESS?, PHONE*, MAIL)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT ADDRESS (#PCDATA)> <!ELEMENT MAIL (#PCDATA)> <!ELEMENT PHONE (#PCDATA)> <!ATTLIST PHONE type (mobile private office fax) #REQUIRED> Einige Erklärungen zur DTD: Die erste Zeile definiert das Element CONTACTLIST als eine Folge von beliebig vielen CONTACT-Elementen. Das "beliebig viele" wird durch den Stern (*) festgelegt und erlaubt auch eine leere Liste mit keinem einzigen CONTACT-Element. Das CONTACT-Element in der zweiten Zeile ist als eine Folge von NAME-, ADDRESS-, PHONE- und MAIL-Elementen festgelegt. Die Reihenfolge der Elemente ist verbindlich und muss in einem gültigen XML-Dokument genau eingehalten sein. Das Fragezeichen im Anschluss an das ADDRESS-Element besagt, dass dieses Element optional ist und folglich wahlweise auftauchen oder weggelassen werden kann. Der Stern hinter dem PHONE-Element ermöglicht wie oben zwischen Null und beliebig vielen Wiederholungen des Elements. Die nachfolgenden Zeilen definieren die Elemente NAME, ADDRESS, PHONE und MAIL als einfache Textelemente. Die Bezeichnung #PCDATA bedeutet, dass diese Elemente bloss Text und keine weiteren Elemente enthalten dürfen. PCDATA steht für "Parsed Character Data". Die letzten drei Zeilen definieren das Attribut type, das zum Element PHONE gehört. Gemäss der Definition kann das Attribut type einen der Werte mobile, private, office oder fax annehmen. Ausserdem wird durch den Zusatz #REQUIRED festgelegt, dass das Attribut zwingend anzugeben ist, falls das Element PHONE benutzt wird. Damit unser XML-Dokument "weiß", welche DTD dafür gültig ist, wird wie im Beispiel auf die passende DTD verwiesen mit einer Zeile wie: <!DOCTYPE CONTACTLIST SYSTEM "contacts.dtd">. Die Zeile besagt, dass das XML-Dokument vom Typ CONTACTLIST ist und sich die zugehörige DTD in der Datei "contacts.dtd" befindet. XML-Schema Als Schema würde die DTD des Beispieles folgendermaßen aussehen: <?xml version="1.0" encoding="iso "?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="contactlist"> <xs:complextype> <xs:sequence minoccurs="0" maxoccurs="unbounded"> <xs:element name="contact"> <xs:complextype> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string" minoccurs="0" maxoccurs="1"/> <xs:element name="phone" type="phonecomp" Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 4/13

5 minoccurs="0" maxoccurs="unbounded"/> <xs:element name="mail" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> <xs:complextype name="phonecomp" mixed="true"> <xs:attribute name="type" use="required"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="mobile"/> <xs:enumeration value="private"/> <xs:enumeration value="office"/> <xs:enumeration value="fax"/> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:complextype> </xs:schema> Der Hauptunterschied zwischen eine DTD und ein XML-Schema ist sofort sichtbar: während eine DTD in SGML geschrieben ist, ist ein Schema selbst ein XML-Dokument. Speziell die Tags eines XML-Schema folgen die Regeln eines anderen Schemas, was unter definiert ist. Außerdem besitzt das Schema mehr Datentypen und mehr Möglichkeiten für die genauere Definition eines Elementes. Wohlgeformtheit und Gültigkeit eines XML-Dokumentes Der Begriff "Wohlgeformtheit", der Ihnen im Zusammenhang mit XML immer wieder begegnen wird, bedeutet, dass eine Datei die Regeln von XML korrekt einhält. D.h., die eckigen Klammern werden richtig benutzt und die Elemente sind korrekt geschachtelt. Korrekte Schachtelung bedeutet, dass, wenn das Start-Tag innerhalb eines Elements ist, auch das End-Tag innerhalb dieses Elementes sein muss. Ein wohlgeformtes XML-Dokument wird als gültig oder valid bezeichnet, wenn es den Regeln einer DTD oder eines Schemas folgt. Ein Dokument kann also wohlgeformt und nicht gültig sein, aber niemals gültig und nicht wohlgeformt. Außerdem ergibt sich, dass ein Dokument immer nur bezüglich einer DTD/Schema, und nicht von sich aus gültig sein kann. Sicherheitsmechanismen in XML Um das unsichere Internet für kritische Business-Transaktionen nutzen zu können, bedarf es hoch entwickelter Sicherheitstechnologien: Es müssen die Eindeutigkeit der Unterzeichneridentität, die Einmaligkeit der zum Dokument gehörigen Unterschrift, die Integrität des Dokuments und schließlich die Unleugbarkeit der Signierung gewährleistet sein. Um diese Anforderungen gerecht zu werden, hat das W3C Standards zur digitalen Signatur und Verschlüsselung verabschiedet. Sie definieren keine neuen Verschlüsselungsmechanismen, sondern bilden alle gängigen Verschlüsselungstechniken in die XML-Syntax ab. Einer der zentralen Vorteile dieser Technologien ist die Möglichkeit, nur bestimmte Teile eines Dokuments zu signieren bzw. verschlüsseln. Das ist nützlich wenn mehrere Personen für verschiedene Teile eines Dokumentes verantwortlich sind (z.bsp. bei einen Bestellablauf). Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 5/13

6 XML-Signatur Damit Sicherheit und Integrität der ausgetauschten XML-Daten gewährleistet sind, müssen diese digital signiert und verschlüsselt werden. Die XML-Signatur selbst ist entweder im Dokument enthalten (der XML-Signaturteil ist Teil des XML-Sourcecodes), umfasst das Dokument (das Sourcedokument ist Teil der Signatur) oder liegt extern in einem zusätzlichen XML-Dokument vor. Diese drei Varianten heißen enveloped-, enveloping- und detachedsignature. XML-Verschlüsselung Die gleichen Vorteile der XML-Signatur bieten auch die XML-Verschlüsselung. Da kann man auch nur einzelne Teilbäume verschlüsseln. Der verschlüsselte Teil des Dokumentes wird immer in die Position der ursprünglichen Daten gespeichert. Deswegen gibt es für die Verschlüsselung nur die enveloped Variante. Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 6/13

7 Versuch Versuchsaufbau Nach den einleitenden Informationen erhalten Sie nun eine konkrete Versuchsbeschreibung. Auf den Rechnern ist Windows XP mit JDK Version 1.5 und Eclipse installiert. Sie bearbeiten den Versuch meistens mit Kommandozeilen-Befehlen. Sie können einen Editor Ihrer Wahl benutzen: falls Sie keine Präferenz bzw. Kenntnisse haben, wird notepad vorgeschlagen. Alle Dateien befinden sich in Verzeichnis c:\xmlsecurity Die Beschreibungen der einzelnen Schritte enthalten die Vorgabe in fetter Schrift und die Erläuterungen dazu jeweils in normaler Schrift. Falls Sie etwas nicht verstehen, fragen Sie bitte zu Beginn den Mitarbeiter, der das Praktikum betreut. Ziel ist es, dass Sie die Vorgabe jedes Schrittes erfüllen und das Ergebnis für sich dokumentieren. Schreiben Sie am besten bei jedem Schritt das Zwischenergebnis auf, damit der Bericht vollständig den Versuch abdeckt. Unvollständige Berichte werden vom Versuchsleiter nicht akzeptiert, was dazu führen kann, dass Sie die Schritte dann noch mal durchführen müssen. Schritt 1: Erstellen einer einfachen XML Datei und Validierung mittels DTD und Schema Erstellen Sie mittels eines ASCII-Editors eine XML-Datei mit zwei Kontakten. Nennen Sie die Datei daten.xml. Überprüfen Sie ob das Dokument gültig ist: java sax.counter -v -s -f daten.xml Passen Sie das Dokument soweit an, dass es das Schema, statt die DTD benutzt. Überprüfen Sie ob das Dokument auch mit dem Schema gültig ist: java sax.counter -v -s -f daten.xml In beiden Fällen machen Sie kleine Änderungen in Ihre XML-Datei, wie reagiert sax.counter in diesem Fall? Schritt 2: Verschlüsseln der XML Datei Verschlüsseln Sie mittels des Programmes jencrypt die Datei: java jencrypt Versuchen Sie zu verstehen wie eine XML-Verschlüsselung abläuft. Welche Daten werden benötigt und wie ist der Ablauf. Schritt 3: Entschlüsseln der XML Datei Kopieren Sie das Programm jencrypt in eine Datei jdecrypt. Schreiben Sie das Programm soweit um, dass es die verschlüsselte Datei diesmal entschlüsselt. Sie können die neue Datei mittels javac jdecrypt kompilieren oder auch die Entwicklungsumgebung Eclipse benutzen. Versuchen Sie zu verstehen wie eine XML-Entschlüsselung abläuft. Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 7/13

8 Schritt 4: Public-Keys unter Java Kryptographische Schlüssel werden in Java in so genannte Keystore-Dateien gespeichert. Die Datei keystore.jks ist so eine Datei. Mittels des Programms keytool (was bei einer Java-Installation dabei ist) können Keystores erzeugt werden bzw. die Informationen angezeigt werden. Was für Schlüssel liegen in dieser Datei? Schreiben Sie alle Informationen auf. Das Passwort der Datei ist xmlsecurity. Schritt 5: Signieren der XML Datei Signieren Sie mittels des Programmes jsign die Datei: java jsign Versuchen Sie zu verstehen wie eine XML-Signierung abläuft. Welche Daten werden benötigt und wie ist der Ablauf. Schritt 6: Überprüfung der Signatur Kopieren Sie das Programm jsign in eine Datei jsignverifier. Schreiben Sie das Programm soweit um, dass es die signierte Datei diesmal überprüft. Sie können die neue Datei mittels javac jsignverifier kompilieren oder auch die Entwicklungsumgebung Eclipse benutzen. Versuchen Sie zu verstehen wie eine XML-Signaturverifikation abläuft. Was sind die Gefahren bei einer Signatur-Überprüfung? Schritt 7 (optional): Signieren mit XPath Passen Sie das Programm jsign so an, dass es nur die PHONE-Elemente statt das ganze Dokument signiert. Muss auch jsignverifier angepasst werden? Wieso und was für Anpassungen sind nötig? Ende des Versuchs Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 8/13

9 Voraussetzungen für die Teilnahme an diesem Versuch Grundkenntnisse zu Java Grundkenntnisse zum Arbeiten mit Windows Sie müssen mit Kommandozeilen umgehen können Dieses Dokument muss vorher gelesen werden; siehe Kontrollfragen zum Verständnis des Dokumentes Kontrollfragen Sie sollten folgende Fragen beantworten können (bevor der Versuch beginnt): Was ist XML? Was sind die Stärken von XML? Was sind die Schwächen von XML? Was ist eine DTD? Was ist ein XML-Schema? Was ist der Unterschied zwischen eine DTD und ein Schema? Was bedeutet wohlgeformt? Was bedeutet gültig? Istein wohlgeformtes Dokument auch gültig? Ist ein gültiges Dokument auch wohlgeformt? Was ist der Unterschied zwischen enveloped, enveloping und dettached Signatur? Was sind die erforderlichen Schritte um ein XML-Dokument zu signieren? Was sind die erforderlichen Schritte um eine XML-Signatur zu überprüfen? Was sind die erforderlichen Schritte um ein XML-Dokument zu verschlüsseln? Was sind die erforderlichen Schritte um ein XML-Dokument zu entschlüsseln? Schriftliche Versuchsauswertung Jedes Team fertigt eine schriftliche Auswertung an. Diese sollte insbesondere die bei jedem Schritt verwendeten Befehle enthalten (also unbedingt dokumentieren, was Sie bei der Versuchsdurchführung getan haben) und die Ausgabe der Befehle erläutern. Bitte geben Sie auch Feedback, ob Sie den Praktikumsversuch als interessant empfunden haben und ob dieses Dokument für Sie bei der Versuchsdurchführung hilfreich war. Verbesserungsvorschläge sind willkommen! Die Versuchsauswertung ist schriftlich beim nächsten Termin mitzubringen Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 9/13

10 Weiterführende Informationen - Links Einführung in XML XML in 10 points: XML Tutorial vom W3C: Standards XML: XML-Schema: XML-Signature: XML-Encryption: XML Path Language: Tools: Java: Eclipse: XML Libraries von Apache: The Legion of the Bouncy Castle: Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 10/13

11 Anhang jencrypt.java /** jencrypt: Simple programm to encrypt a XML file */ import java.io.file; import java.io.fileoutputstream; import java.security.key; import javax.crypto.keygenerator; import org.apache.xml.security.encryption.xmlcipher; import org.apache.xml.security.encryption.encrypteddata; import org.apache.xml.security.encryption.encryptedkey; import org.apache.xml.security.keys.keyinfo; import org.apache.xml.security.utils.xmlutils; import org.w3c.dom.document; import org.w3c.dom.element; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.documentbuilder; public class jencrypt { public static void main(string unused[]) throws Exception { // Initialisieren der XML-Funktionen org.apache.xml.security.init.init(); // Oeffne unser XML-Dokument File XMLFile = new File("daten.xml"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setnamespaceaware(true); DocumentBuilder db = dbf.newdocumentbuilder(); Document doc = db.parse(xmlfile); // Kreiere einen symmetrischen Schluessel und speichere in // verschluesselt in die Datei kekfile KeyGenerator keygenerator = KeyGenerator.getInstance("AES"); keygenerator.init(128); Key symmetrickey = keygenerator.generatekey(); keygenerator = KeyGenerator.getInstance("DESede"); Key kek = keygenerator.generatekey(); byte[] keybytes = kek.getencoded(); File kekfile = new File("kekfile"); FileOutputStream fkek = new FileOutputStream(kekFile); fkek.write(keybytes); fkek.close(); System.out.println("Key encryption key ist in Datei " + kekfile.tourl().tostring() + " gespeichert"); // Verschluesseln der Datei XMLCipher keycipher = XMLCipher.getInstance(XMLCipher.TRIPLEDES_KeyWrap); keycipher.init(xmlcipher.wrap_mode, kek); EncryptedKey encryptedkey = keycipher.encryptkey(doc, symmetrickey); Element rootelement = doc.getdocumentelement(); XMLCipher xmlcipher = XMLCipher.getInstance(XMLCipher.AES_128); Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 11/13

12 } } xmlcipher.init(xmlcipher.encrypt_mode, symmetrickey); EncryptedData encrypteddata = xmlcipher.getencrypteddata(); // Fuege Schluesselinformation in der Datei KeyInfo keyinfo = new KeyInfo(doc); keyinfo.add(encryptedkey); encrypteddata.setkeyinfo(keyinfo); xmlcipher.dofinal(doc, rootelement, true); // Und schreibe die Ausgabedatei File encryptedfile = new File("VerschluesselteDaten.xml"); FileOutputStream f = new FileOutputStream(encryptedFile); XMLUtils.outputDOMc14nWithComments(doc, f); f.close(); System.out.println("Verschluesseln erfolgreich, neue Datei: " + encryptedfile); jsign.java /** jsign: Simple programm to sign a XML file */ import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.security.keystore; import java.security.privatekey; import java.security.cert.x509certificate; import org.apache.xml.security.signature.xmlsignature; import org.apache.xml.security.transforms.transforms; import org.apache.xml.security.utils.constants; import org.apache.xml.security.utils.xmlutils; import org.w3c.dom.document; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.documentbuilder; public class jsign { public static void main(string unused[]) throws Exception { // Initialisieren der XML-Funktionen org.apache.xml.security.init.init(); // Parameter fuer die Schluesseldatei String keystoretype = "JKS"; String keystorefile = "keystore.jks"; String keystorepass = "xmlsecurity"; String privatekeyalias = "test"; String privatekeypass = "xmlsecurity"; String certificatealias = "test"; KeyStore ks = KeyStore.getInstance(keystoreType); FileInputStream fis = new FileInputStream(keystoreFile); ks.load(fis, keystorepass.tochararray()); PrivateKey privatekey = (PrivateKey) ks.getkey(privatekeyalias, privatekeypass.tochararray()); Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 12/13

13 } } // Unsere Ein- und Ausgabe- Dateien File XMLFile = new File("daten.xml"); // Oeffne unser XML-Dokument DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setnamespaceaware(true); DocumentBuilder db = dbf.newdocumentbuilder(); Document doc = db.parse(xmlfile); // Kreiere Signaturbaum im Speicher String BaseURI = XMLFile.toURL().toString(); XMLSignature sig = new XMLSignature(doc, BaseURI, XMLSignature.ALGO_ID_SIGNATURE_DSA); // Enveloped Signatur: Fuege das Signatur-Element bevor der Signatur doc.getdocumentelement().appendchild(sig.getelement()); // Sorge das die Applikation offline ablaeuft sig.getsignedinfo().addresourceresolver(new MyOfflineResolver()); // Kreiere die Transformation fuer das signieren Transforms transforms = new Transforms(doc); // Zuerst muss die Signatur rausgenommen werden: transforms.addtransform(transforms.transform_enveloped_signature); // Dann muss das Dokument auch kanonisiert werden. transforms.addtransform(transforms.transform_c14n_with_comments); // Fuege die Transformationen zur Signatur sig.adddocument("", transforms, Constants.ALGO_ID_DIGEST_SHA1); // Schreibe Informationen ueber den benutzten Schluessel X509Certificate cert = (X509Certificate) ks.getcertificate(certificatealias); sig.addkeyinfo(cert); sig.addkeyinfo(cert.getpublickey()); // Signiere das Dokument sig.sign(privatekey); // Und schreibe die Ausgabedatei File signaturefile = new File("signierteDaten.xml"); FileOutputStream f = new FileOutputStream(signatureFile); XMLUtils.outputDOMc14nWithComments(doc, f); f.close(); System.out.println("Signieren erfolgreich, signierte Datei: " + signaturefile); Praktikumsversuch XML Sicherheit Lehrstuhl Netz- und Datensicherheit 13/13

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

Webseite in XML Kurzeinführung

Webseite in XML Kurzeinführung Webseite in XML Kurzeinführung 1. Entwicklung... 1 2. Erste Webpage in XML... 2 2.1 Erstes Beispiel... 2 2.2 Tags definieren... 4 2.3 Kommentare in XML... 5 2.4 XML mittels CSS im Browser ansehen... 5

Mehr

XSD - XML Schema Definition

XSD - XML Schema Definition XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? 1 1.1 XSD Dateien und Anwendungen....................

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

XML Grundlagen Teil I

XML Grundlagen Teil I XML Vorlesung FH Aargau, SS 2006 XML Grundlagen Teil I Erik Wilde 20.3.2006 http://dret.net/lectures/xml-fhnw-ss06/ 20.3.2006 XML Vorlesung FHA SS 2006 1 Übersicht Aufbau von XML XML Dokumenten-Syntax

Mehr

Datenaustauschformate. Datenaustauschformate - FLV

Datenaustauschformate. Datenaustauschformate - FLV Datenaustauschformate FLV-Dateien CSV-Dateien XML-Dateien Excel-Dateien Access- Backupdateien Günter M. Goetz 108 Datenaustauschformate - FLV Fixed Length Values Repräsentation einer Tabelle als 'Flat-File'

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

XML DTD und Schema von Thomas Mangold

XML DTD und Schema von Thomas Mangold XML DTD und Schema von Thomas Mangold Inhalt: Zweck kurze Übersicht über den Aufbau Gemeinsamkeiten und Unterschiede Grundelemente Schema vs. DTD Beispiel Definitieren eines Schemas Links 15.05.2002 XML-Seminar

Mehr

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

XML Tutorium mit Oxygen. Oxygen Version 9.3!! XML Tutorium mit Oxygen (Version 1.9 vom 4.6.2013) Oxygen Version 9.3!! In den folgenden Lektionen sollen die vermittelten Konzepte zu XML anhand von konkreten Beispielen geübt und vertieft werden. Das

Mehr

Einführung in XML von Julian Bart

Einführung in XML von Julian Bart Über diese Einführung Diese Einführung soll Ihnen einen groben, ersten Überblick über XML, dem designierten Nachfolger der Seitenbeschreibungssprache HTML 4.0, vermitteln und Ihnen einen ersten Einstieg

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Bibliothekssysteme / Verbundsysteme / Netze

Bibliothekssysteme / Verbundsysteme / Netze Bibliothekssysteme / Verbundsysteme / Netze Teil 5: Datenstrukturen / Anwendungen Kaderkurs für Diplombibliothekarinnen und Diplombibliothekare 2002-05-08 Programm 2002-05-08 1105 1140 XML und die Folgen

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565

Mehr

Technische Richtlinie

Technische Richtlinie Seite 1 von 18 www.bundesanzeiger.de BSI Technische Richtlinie Bezeichnung: De-Mail BSI Technische Richtlinie Anwendungsbereich: Bezeichnung: Kürzel: De-Mail Identitätsbestätigungsdienst Interoperabilitätsspezifikation

Mehr

Anwenderinnen und Anwender im IT-Verbund des Evangelischen Oberkirchenrats Stuttgart

Anwenderinnen und Anwender im IT-Verbund des Evangelischen Oberkirchenrats Stuttgart Evangelischer Oberkirchenrat Gänsheidestraße 4 70184 Stuttgart Bei Rückfragen wenden Sie sich bitte an folgende Nummer: 0711 2149-533 Anwenderinformation des Referats Informationstechnologie Thema Betroffene

Mehr

Daten- und Metadatenstandards Wintersemester 2011 / 2012 08. November 2011 XML II: DTD

Daten- und Metadatenstandards Wintersemester 2011 / 2012 08. November 2011 XML II: DTD Daten- und Metadatenstandards Wintersemester 2011 / 2012 08. November 2011 XML II: DTD Themenüberblick Vergangene Woche: Text Inhalt Struktur Äußeres Erscheinungsbild: Layout Extensible Markup Language:

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten 2 Was ist XML? Daten sind

Mehr

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

Mehr

Whitepaper. EDIFACT-Signatur-, Verschlüsselungs- und Mailcockpit

Whitepaper. EDIFACT-Signatur-, Verschlüsselungs- und Mailcockpit Whitepaper EDIFACT-Signatur-, Verschlüsselungs- und Mailcockpit Funktionsumfang: Plattform: Verschlüsselung, Signierung und email-versand von EDIFACT-Nachrichten des deutschen Energiemarktes gemäß der

Mehr

Rechnungserstellung und Datenformate

Rechnungserstellung und Datenformate Rechnungserstellung und Datenformate Betriebliche Kommunikation Post Telefon PC Vertreter Fax 2 Elektronische Geschäftsabwicklung H2H E-mail Web-Browser H2A B2C A2A EDI & XML B2B 3 Mensch - Maschine? B2C:

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Praktikum IT-Sicherheit

Praktikum IT-Sicherheit IT-Sicherheit Praktikum IT-Sicherheit - Versuchshandbuch - Aufgaben PGP In diesem Versuch lernen Sie die Sicherheitsmechanismen kennen, die 'Pretty Good Privacy' (PGP) zur Verfügung stellt, um u. a. Vertrauliche

Mehr

Grundpraktikum zur IT-Sicherheit SS 2005. Bericht zum 1. Versuch

Grundpraktikum zur IT-Sicherheit SS 2005. Bericht zum 1. Versuch Grundpraktikum zur IT-Sicherheit SS 2005 Bericht zum 1. Versuch Benutzung der Software PGP /GnuPG zur Verschlüsselung und zum Signieren digitaler Daten durchgeführt von: Steffen Schulz, Lars Wolleschensky

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

Mehr

Übungsaufgaben zu XML:

Übungsaufgaben zu XML: Übungsaufgaben zu XML: Aufgabe 1 Allgemeine Fragen zu XML: (Benutzen Sie zum Lösen der Aufgaben die Online-Hilfen, welche wir erwähnt haben.) a) Was ist eine DTD? DTD steht für Document Type Definition.

Mehr

ASN.1 <-> XML TRANSLATION

ASN.1 <-> XML TRANSLATION ASN.1 XML TRANSLATION Management Verteilter Systeme Patrick Gerdsmeier, Pierre Smits Wintersemester 2003/2004 Lehrstuhl für Systeme Prof. Dr. Kraemer BTU Cottbus ASN.1 XML TRANSLATION Gliederung

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Code signing mit startssl

Code signing mit startssl Code signing mit startssl Auf der Suche nach einem Anbieter, bei dem ich ein mit Windows 7 nutzbares und günstiges Zertikat erwerben kann bin ich über StartSSL gestolpert. Dort bekommt man ein class 2

Mehr

Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1 XML XML steht für die extensible Markup Language (XML) XML ist eine sogenannte Markup-Sprache (wie

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11 Die erweiterbare Markierungssprache XML 1. Einleitung Eine Markierungssprache (markup language) dient dazu, Textdateien mit zusätzlichen Informationen anzureichern. Die verbreitete Markierungssprache HTML

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Tobias Hauser. XML-Standards. schnell+kompakt

Tobias Hauser. XML-Standards. schnell+kompakt Tobias Hauser XML-Standards schnell+kompakt Tobias Hauser XML-Standards schnell+kompakt ISBN: 978-3-86802-236-0 2010 entwickler.press ein Imprint der Software & Support Media GmbH 2. vollständig aktualisierte

Mehr

Java API for XML Binding

Java API for XML Binding Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden

Mehr

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005 XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick GPN4: 22.05.2005 Übersicht Wofür Signaturen? Wieso ein weiteres Signaturverfahren? Grundlagen Signatur-Typen Juristische Aspekte von Signaturen

Mehr

Webservicetest mit soapui

Webservicetest mit soapui Mentana Claimsoft GmbH NL Berlin/Brandenburg Seite 1 Webservicetest mit soapui Version 1.2 Mentana Claimsoft GmbH NL Berlin/Brandenburg Seite 2 Inhaltsverzeichnis 1 Übersicht... 3 1.1 Dokumentenverlauf...

Mehr

Verteilte Anwendungen. Teil 2: Einführung in XML

Verteilte Anwendungen. Teil 2: Einführung in XML Verteilte Anwendungen Teil 2: Einführung in XML 05.10.15 1 Literatur [2-1] Eckstein, Robert; Casabianca, Michel: XML Kurz und gut. O'Reilly, 2. Auflage, 2003 [2-2] Nussbaumer, Alfred; Mistlbacher, August:

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung II. XML Manfred Gruner mailto:wpr@gruner.org 4.2 XML XML extensible Markup Language Universelles Format für strukturierte Dokumente und Daten Web: XML = Querschnittstechnologie

Mehr

Reimo Fachhändlerbereich Import Datei

Reimo Fachhändlerbereich Import Datei Allgemein Der Reimo Fachhändlerbereich im Internet bietet die Funktionalität, eine Datei mit Bestelldaten zu importieren. Dies erspart Ihnen die Arbeit, eine Bestellung, die Sie bereits in Ihrer EDV erfasst

Mehr

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5 HTML5 Linda York, Tina Wegener 2. Ausgabe, 3. Aktualisierung, Januar 2013 Grundlagen der Erstellung von Webseiten HTML5 2 HTML5 - Grundlagen der Erstellung von Webseiten 2 Die erste Webseite mit HTML erstellen

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

XML-basierte Standards für den Datenaustausch in der Logistikkette

XML-basierte Standards für den Datenaustausch in der Logistikkette XML und Electronic Data Interchange (EDI) EDIFACT-XML ein kleines Beispiel - Strukturierung von Daten Datensatz 347,M50,L Datensatz mit Pseudocode-ML strukturiert 347

Mehr

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen

Mehr

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML XML-Übersicht Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language) Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten XML-Übersicht Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

2. Einführung in Datenbanken und XML

2. Einführung in Datenbanken und XML 2. Einführung in Datenbanken und XML Was ist XML? 2. Einführung in Datenbanken und XML XML steht für extensible Markup Language durch das W3C entwickeltes Dokumentenformat einfach, flexibel, von SGML abgeleitet

Mehr

D#32058 Spezifikation UPOC DM V2

D#32058 Spezifikation UPOC DM V2 Autor: CodX Software AG Sinserstrasse 47 CH-6330 Cham www.codx.ch Version: 12.5.2011 File: Vertraulich. Alle Rechte vorbehalten. Die Informationen dieses Dokuments oder dieses Dokument selber dürfen nicht

Mehr

Dokumentation Projekt Virtuelles Tagebuch

Dokumentation Projekt Virtuelles Tagebuch Priv.Doz. Dr. Michael Hahsler Institut für Informationswirtschaft Dokumentation Projekt (Matr. Nr. 9806106) - 1 - 1 Problembeschreibung Das Ziel dieses Projektes ist es, ein Tagebuch in elektronischer

Mehr

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

Dokumentenstrukturen

Dokumentenstrukturen Dokumentenstrukturen Dokumentation zum Projekt Die Welt von BreakOut von: Kristian Kraft Email: Kristian.Kraft@gmx.de Matrikelnummer: 80 59 17 Dirk Vincent Kops Email: Vincent.Kops@gmx.de Matrikelnummer:

Mehr

NTx e-billing-system DEBS 1.0 - Übersicht

NTx e-billing-system DEBS 1.0 - Übersicht NTx e-billing-system DEBS 1.0 - Übersicht DEBS = ebilling@sharepoint Was ist DEBS? DEBS ist eine integrierte Lösung zur Archivierung, Beschlagwortung und Weiterverarbeitung elektronischer Rechnungen nach

Mehr

Strukturierung von Inhalten

Strukturierung von Inhalten Strukturierung von Inhalten extensible Markup Language Metasprache erlaubt die Definition eigener Markupsprachen zur Strukturierung von Informationen World Wide Web Consortium (W3C) Standard Basiert auf

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze Sicherheitsaspekte von Web Services Hauptseminar Rechnernetze Stefan Hennig sh790883@inf.tu-dresden.de 21. Januar 2005 Gliederung Einführung Überblick Sicherheit auf Netzwerk- und Transportebene XML-Sicherheit

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Es gibt situationsabhängig verschiedene Varianten zum Speichern der Dokumente. Word bietet im Menü DATEI unterschiedliche Optionen an.

Es gibt situationsabhängig verschiedene Varianten zum Speichern der Dokumente. Word bietet im Menü DATEI unterschiedliche Optionen an. 3. SPEICHERN DATEIEN SPEICHERN Dateien werden in Word Dokumente genannt. Jede Art von Datei, die Sie auf Ihrem Computer neu erstellen, befindet sich zuerst im Arbeitsspeicher des Rechners. Der Arbeitsspeicher

Mehr

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH Vortrag im Rahmen des IFC-Seminars am 06.12.2000 von Stefan Rauch Diplomarbeit zum Thema: Performance Messungen mit XML bei der empolis GmbH Übersicht / Agenda Einleitung Die Firma empolis GmbH XML, SAX,

Mehr

Definition der Schnittstelle zur Übertragung der. gemäß Deponieselbstüberwachungsverordnung NRW

Definition der Schnittstelle zur Übertragung der. gemäß Deponieselbstüberwachungsverordnung NRW Jahresberichte gemäß Deponieselbstüberwachungsverordnung NRW Inhaltsverzeichnis... 1 Historie der Änderungen... 2 Einleitung... 2 Rückblick... 2 Auswirkungen der neuen Verordnung... 2 Auslieferung... 2

Mehr

Eine Alternative: StarOffice 6.0

Eine Alternative: StarOffice 6.0 Eine Alternative: StarOffice 6.0 "Die voll ausgestattete Büro-Komplettsoftware" Michaela Hering, 5.11.2002 1 Information Überblick StarOffice 6.0 integriert Textverarbeitung mit HTML-Editor Tabellenkalkulation

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Programmiertechnik II

Programmiertechnik II X.509: Eine Einführung X.509 ITU-T-Standard: Information Technology Open Systems Interconnection The Directory: Public Key and attribute certificate frameworks Teil des OSI Directory Service (X.500) parallel

Mehr

DocBook-Filter für OpenOffice.org

DocBook-Filter für OpenOffice.org OpenOffice.org als Editor für DocBook-XML Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen XML-Projekt (http://xml.openoffice.org) Alle in diesem Dokument

Mehr

Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic

Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic CAMPUS IT DEPARTMENT OF INFORMATION TECHNOLOGY Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic Seite 1 Ein Dokument der Campus IT Hochschule Bochum Stand 12.2013 Version 0.02

Mehr

Historisches Ortsnamenverzeichnis

Historisches Ortsnamenverzeichnis Bundesamt für Kartographie und Geodäsie Projekt-Beschreibung Historisches Ortsnamenverzeichnis Web-Applikation und Web-Service GeoDatenZentrum Stand 18.11.2013 1 Zielstellung Das Historische Ortnamenverzeichnis

Mehr

Verschlüsselungstool DATUSCodierung

Verschlüsselungstool DATUSCodierung Verschlüsselungstool DATUSCodierung Benutzerhandbuch Stand: Januar 2014 Inhalt Verschlüsselungstool DATUSCodierung... 1 Inhalt... 2 Release Notes... 3 Technische Details... 3 Dateien im Lieferumfang...

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Softwareentwicklung mit Komponenten

Softwareentwicklung mit Komponenten Softwareentwicklung mit Komponenten XML Extensible Markup Language TU Berlin im Wintersemester 2000/2001 Von Akin Kurdoglu Betreuer M.Bittner, W. Koch, Prof. Dr. S. Jähnichen 1 Gliderung - Definition von

Mehr

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele:

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele: 2. Datenmodellierung mit XML und XML-Schema Was ist XML? 2. Datenmodellierung mit XML und XML-Schema 2. Datenmodellierung mit XML und XML-Schema Was ist XML? Semistrukturierte Daten Lernziele: Eigenschaften

Mehr

XML, XHTML und MathML

XML, XHTML und MathML XML, XHTML und MathML Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich 3.7.03 Erik Wilde 1 Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs)

Mehr

Comtarsia SignOn Familie

Comtarsia SignOn Familie Comtarsia SignOn Familie Handbuch zur RSA Verschlüsselung September 2005 Comtarsia SignOn Agent for Linux 2003 Seite 1/10 Inhaltsverzeichnis 1. RSA Verschlüsselung... 3 1.1 Einführung... 3 1.2 RSA in Verbindung

Mehr

Allgemeine Erläuterungen zu

Allgemeine Erläuterungen zu en zu persönliche Zertifikate Wurzelzertifikate Zertifikatssperrliste/Widerrufsliste (CRL) Public Key Infrastructure (PKI) Signierung und Verschlüsselung mit S/MIME 1. zum Thema Zertifikate Zertifikate

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 15.07.2013 Dokumentenart: Anwenderbeschreibung Version: 3.2 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...

Mehr

XML Signature Wrapping: Die Kunst SAML Assertions zu fälschen. 19. DFN Workshop Sicherheit in vernetzten Systemen Hamburg, 22.02.

XML Signature Wrapping: Die Kunst SAML Assertions zu fälschen. 19. DFN Workshop Sicherheit in vernetzten Systemen Hamburg, 22.02. XML Wrapping: Die Kunst SAML s zu fälschen Andreas Mayer Adolf Würth GmbH & Co. KG Künzelsau-Gaisbach Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum 19. DFN Workshop

Mehr

3. Baumstrukturen. 3.1 Dateien und Ordner

3. Baumstrukturen. 3.1 Dateien und Ordner bertram.hafner@t-online.de Informatik 7 Seite 1 3. Baumstrukturen 3.1 Dateien und Ordner Schreibe einen kurzen Text und speichere ihn ab. Verändere den Text und speichere ihn unter einem neuen Namen ab.

Mehr

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008 Programmieren II SAX Dr. Klaus Höppner DOM Hochschule Darmstadt SS 2008 JAXB 1 / 21 2 / 21 SAX SAX (Simple API for XML) ist eine ereignisorientierte Methode zum Parsen von XML-Dateien. Dies bedeutet, das

Mehr

RACFBroker/j. Entfernter Zugriff auf das RACF Sicherheitssystem auf IBM Mainframes über TCP/IP. RACFBroker/j ist ein Produkt der

RACFBroker/j. Entfernter Zugriff auf das RACF Sicherheitssystem auf IBM Mainframes über TCP/IP. RACFBroker/j ist ein Produkt der RACFBroker/j Entfernter Zugriff auf das RACF Sicherheitssystem auf IBM Mainframes über TCP/IP RACFBroker/j ist ein Produkt der XPS Software GmbH Eching RACFBroker/j XPS Software GmbH Untere Hauptstr. 2

Mehr

Umweltbundesamt. ENDA GmbH & Co. KG -- Environmental Data Management Solutions. Berlin und Dessau, 2010. Rev. 3, 2010-09-27

Umweltbundesamt. ENDA GmbH & Co. KG -- Environmental Data Management Solutions. Berlin und Dessau, 2010. Rev. 3, 2010-09-27 Allgemeine Beschreibung der Dateien für die Festlegung des XML Datenaustauschformats zur Übermittlung von Daten für die Bodendauerbeobachtung in Deutschland Umweltbundesamt ENDA GmbH & Co. KG -- Environmental

Mehr

XML und Datenbanken

<Trainingsinhalt> XML und Datenbanken XML und Datenbanken i training Inhaltsverzeichnis Vorwort 11 Kapitel 1 XML 13 1.1 Voraussetzungen für XML 14 1.2 Allgemeines 14 1.3 Migration von HTML zu XML 16 1.4 Argumente für XML

Mehr

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back XML Grundlagen Andreas Rottmann,Sebastian Riedl 27. August 2002 Rottmann, Riedl: XML Grundlagen 1 Überblick Hintergründe und Geschichte Aufbau von XML-Dokumenten DTD Schemata Erweiterungen XML APIs Rottmann,

Mehr

6. Datenbanken und XML

6. Datenbanken und XML 6. Datenbanken und XML 6.0 Einführung XML (extended Markup Language) definiert ein Format für Textdateien, das sich sehr gut als Austauschformat zwischen verschiedenen Softwaresystemen (z.b. zwischen Datenbanken

Mehr

Compilerbau I Sommersemester 2008

Compilerbau I Sommersemester 2008 Fachbereich 12 Informatik und Elektrotechnik Programmiersprachen Kurt Sieber Benedikt Meurer Compilerbau I Sommersemester 2008 Übungsblatt 1 Aufgabe 1 Der erweiterte reguläre Ausdruck α{m, n erkennt zwischen

Mehr

http://www.therealgang.de/

http://www.therealgang.de/ http://www.therealgang.de/ Titel : Einführung in XML (Teil 1/2) Author : Dr. Pascal Rheinert Kategorie : Programmierung-Sonstige Teil II: XML Wichtiger Hinweis: Das folgende Dokument basiert auf dem HTML-Lehrgang

Mehr

Kurzanleitung GPG Verschlüsselung Stand vom 13.11.2006

Kurzanleitung GPG Verschlüsselung Stand vom 13.11.2006 Inhaltsverzeichnis 1. Versenden des eigenen öffentlichen Schlüssels... 2 2. Empfangen eines öffentlichen Schlüssels... 3 3. Versenden einer verschlüsselten Nachricht... 6 4. Empfangen und Entschlüsseln

Mehr

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

Mehr

Michael Fellmann, M.A. Grundlagen Standards und Vokabulare XML-basiertes Prozessmanagement. Universität Osnabrück

<BPM-XML-Seminar/> Michael Fellmann, M.A. Grundlagen Standards und Vokabulare XML-basiertes Prozessmanagement. Universität Osnabrück Grundlagen Standards und Vokabulare XML-basiertes Prozessmanagement Michael Fellmann, M.A. Universität Osnabrück Fachgebiet Informationsmanagement und Wirtschaftsinformatik michael.fellmann@uos.de

Mehr

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr