Debugging lab 2.

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

Chapter 7 An Introduction to XML.
1 eXtensible Markup Language. XML is based on SGML: Standard Generalized Markup Language HTML and XML are both based on SGML 2 SGML HTMLXML.
Ali Alshowaish w3schools. XML documents use a self-describing and simple syntax: The first line is the XML declaration. It defines the XML version (1.0)
XML –EXtensible Markup Language –Designed to transform and store data –We will learn difference between xml and html.
XML Schema Heewon Lee. Contents 1. Introduction 2. Concepts 3. Example 4. Conclusion.
The eXtensible Markup Language (XML) An Applied Tutorial Kevin Thomas.
XML INTRODUCTION Prepared by Hongming Yu Modified by Fernando Farfán.
Web Development & Design Foundations with XHTML
XML Craig Stewart Dr. Alexandra I. Cristea
What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML.
Web Service Security CS409 Application Services Even Semester 2007.
XML Encryption Prabath Siriwardena Director, Security Architecture.
SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport.
An Introduction to XML Based on the W3C XML Recommendations.
XML Programación web. XML stands for eXtensible Markup Language. XML is designed to transport and store data. XML is important to know, and very easy.
© De Montfort University, XML – a meta language Howell Istance and Peter Norris School of Computing De Montfort University.
Extensible Markup Language Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
1/4722 January 2003Secure XML XML Security Donald E. Eastlake, III
Sistemi basati su conoscenza XML Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza XML Prof. M.T. PAZIENZA a.a
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
Introduction to XML This material is based heavily on the tutorial by the same name at
Implementation Of XML DIGITAL SIGNATURES Using Microsoft.NET.
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
XML introduction to Ahmed I. Deeb Dr. Anwar Mousa  presenter  instructor University Of Palestine-2009.
 Introduction to XML Introduction to XML  Features of XML Features of XML  Syntax of XML Syntax of XML  Syntax rules of XML document Syntax rules.
E X TENSIBLE M ARKUP L ANGUAGE (XML). What is XML?  XML stands for EXtensible Markup Language  XML is mainly designed to carry (or transmit) data, not.
Pemrograman Berbasis WEB XML -Aurelio Rahmadian- Sumber: w3cschools.com.
XML eXtensible Markup Language w3c standard Why? Store and transport data Easy data exchange Create more languages WSDL (Web Service Description Language)
XML Signature Prabath Siriwardena Director, Security Architecture.
XML - DTD. The building blocks of XML documents Elements, Tags, Attributes, Entities, PCDATA, and CDATA.
Introduction to XML. What is XML? Extensible Markup Language XML Easier-to-use subset of SGML (Standard Generalized Markup Language) XML is a.
XHTML,XML M.Abdullah Mrian. What is the XHTML Why XHTML ?
These Questions are copied from
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
How do I use HTML and XML to present information?.
1 Chapter 10: XML What is XML What is XML Basic Components of XML Basic Components of XML XPath XPath XQuery XQuery.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
XML - DTD Week 4 Anthony Borquez. What can XML do? provides an application independent way of sharing data. independent groups of people can agree to.
Consuming eXtensible Markup Language (XML) feeds.
1 Dr Alexiei Dingli XML Technologies XML. 2 XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry.
Consuming eXtensible Markup Language (XML) feeds.
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
 A Web service is a method of communication between two electronic devices over World Wide Web.
XML EXtensible Markup Language. Agenda Introduction to XML XML Rules XML Elements XML Attributes XML Validation XML Exercises XML Namespaces XML CDATA.
An Introduction to XML Sandeep Bhattaram
XML Basics A brief introduction to XML in general 1XML Basics.
XML Presented by Kushan Athukorala. 2 Agenda XML Overview Entity References Elements vs. Atributes XML Validation DTD XML Schema Linking XML and CSS XSLT.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Dr. Chunbo Chu Week 3. XML Not a replacement for HTML. XML and HTML were designed with different goals: XML was designed to transport and store data,
CIS 375—Web App Dev II DTD. 2 Introduction to DTD DTD stands for ______________________. The purpose of a DTD is to define the legal building blocks of.
What is XML? eXtensible Markup Language eXtensible Markup Language A subset of SGML (Standard Generalized Markup Language) A subset of SGML (Standard Generalized.
ASHIMA KALRA  INTRODUCTION OF XML INTRODUCTION OF XML  XML FEATURES XML FEATURES  XML SYNTAX XML SYNTAX  XML ELEMENTS XML ELEMENTS  XML ATTRIBUTES.
DTD ]>. Internal DTD Declaration ]> Faculty Director Reminder Please be regular in your classes.
Introduction to DTD A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list.
IS444: Modern software development tools Dr. Azeddine Chikh.
XML. HTML Before you continue you should have a basic understanding of the following: HTML HTML was designed to display data and to focus on how data.
AJAX. Ajax  $.get  $.post  $.getJSON  $.ajax  json and xml  Looping over data results, success and error callbacks.
Dave Salinas. What is XML? XML stands for eXtensible Markup Language Markup language, like HTML HTML was designed to display data, whereas XML was designed.
Web Services Security INFOSYS 290, Section 3 Web Services: Concepts, Design and Implementation Adam Blum
Lifecycle Metadata for Digital Objects October 9, 2002 Transfer / Authenticity Metadata.
Introduction to XML Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
XML – Basic Concepts (modified version from Dr. Praveen Madiraju) 2015, Fall Pusan National University Ki-Joune Li.
XML Introduction to XML Extensible Markup Language.
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
XML. What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data.
First Prototype Presentation, Sprint Review and the Game Dev Production Process CS 153P Session 8.
Extensible Markup Language (XML) Pat Morin COMP 2405.
XML intro. What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display.
Presentation transcript:

Debugging lab 2

Outline XML Digital signature Laboratory of debugging XML-security

Xml: eXtensible Language Markup Language to describe and transmit data Based on tags Designed to be self-descriptive W3C recommendation

Xml: elements Open tag <root> <child> <subchild>.....</subchild> </child> </root> Close tag Comment <?xml version="1.0" encoding="ISO-8859-1"?> <!-- very important note --> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> source: http://www.w3schools.com/

Xml: attributes <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <price>29.99</price> </bookstore> Attributes source: http://www.w3schools.com/

Xml: special characters Some characters have special meaning, so they must be handled with care < > & & ‘ &apos; “ " <message>if salary < 1000 then</message> <message>if salary < 1000 then</message> source: http://www.w3schools.com/

Solving conflicts using prefixes <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <name>African Coffee Table</name> <width>80</width> <length>120</length> source: http://www.w3schools.com/

Solving conflicts using prefixes <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> source: http://www.w3schools.com/

Public/private key Document 11288233f

Digital signing

Signature verification

Main features of XML-security Canonize (standardize) xml documents, make logically-equivalent xml parts comparable  Sign xml elements: whole document, element, element content Verify signatures

XML-Security project Xml-security (Apache Santuario) project is aimed at providing implementation of security standards for XML. Currently the focus is on the W3C standards: XML-Signature Syntax and Processing; and XML Encryption Syntax and Processing. Java implementation library includes a mature Digital Signature and Encryption implementation. It also includes the standard JSR 105 (Java XML Digital Signature) API.  Applications can use the standard JSR 105 API or the Apache Santuario API to create and validate XML Signatures.

Component of an XML Signature Each resource to be signed has its own <Reference> element, identified by the URI attribute <Signature> <SignedInfo> (CanonicalizationMethod) (SignatureMethod) ( <Reference (URI=)?> (Transforms)? (DigestMethod) (DigestValue) </Reference> )+ </SignedInfo> (SignatureValue) (KeyInfo)? (Object)* </Signature> The <Transform> element specifies an ordered list of processing steps that were applied to the referenced resource’s content before it was digested. The <DigestValue> element carries the value of the digest of the referenced resource The <SignatureValue> element carries the value of the encrypted digest of the <SignedInfo> element The <KeyInfo> element indicates the key to be used to validate the signature. Possible forms for identification include certificates, key names, and key agreement algorithms and information source: http://www.xml.com/pub/a/2001/08/08/xmldsig.html

Example of xml signature  <Signature Id="MyFirstSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">     <SignedInfo>         <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />         <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1" />         <Reference URI="http://www.w3.org/TR/2000/REC-xhtml1-20000126/">             <Transforms>                 <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />             </Transforms>             <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />             <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue>         </Reference>     </SignedInfo>     <SignatureValue>MC0CFFrVLtRlk=...</SignatureValue>     <KeyInfo>         <KeyValue>             <DSAKeyValue>                 <p> ... </p>                 <Q> ... </Q>                 <G> ... </G>                 <Y> ... </Y>             </DSAKeyValue>         </KeyValue>     </KeyInfo> </Signature> Source: http://www.ibm.com/developerworks/xml/library/s-xmlsec.html/index.html

Laboratory Download xml-security from Import the project in Eclipse http://selab.fbk.eu/swat/debugging/xmlSecurityTraining.zip Import the project in Eclipse Address tasks in order Fix the bugs reported by the test cases/answer the question Record start time Fix the bug/answer the question Record stop time Fill the feedback questions Deliver the paper sheet Export the eclipse project and send it to studio.empirico@gmail.com