14
Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy Foster Microsoft Developer Evangelist

Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Embed Size (px)

Citation preview

Page 1: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep

M5: Data, Files, and Encryption

Michael PalermoMicrosoft Technical Evangelist

Jeremy FosterMicrosoft Developer Evangelist

Page 2: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Jump Start Target Agenda

Advanced Windows 8 Apps Using JavaScript

Module 1: Background Tasks and Components

Module 2: Hardware and Sensors

Module 3: Printing and PlayTo

MEAL BREAK

Module 4: Animations, Custom Controls, and Globalization

Module 5: Data, Files, and Encryption

Module 6: Deployment

Page 3: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Module Agenda

Design and implement data caching

Save and retrieve files from the file system

Secure application data

˃

Page 4: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Cached datalocal settings, local files, indexedDb, HTML local storage

CachingExpensive dataweb service, database

In-memory datapage state, variables, objects, etc.

Page 5: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Azure Caching

Page 6: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Module Agenda

Design and implement data caching

Save and retrieve files from the file system

Secure application data

˃

Page 7: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Storage options consist of…

Application state session state

User settingslocal settings, roaming settings

Application datatemporary files, local files, roaming files, other?

User datadocument libraries

Page 8: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

CODESHOW: STORAGE

demo

Page 9: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Module Agenda

Design and implement data caching

Save and retrieve files from the file system

Secure application data˃

Page 10: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

What Windows 8 can do to protect data…

• Create symmetric keys• Perform symmetric encryption• Create asymmetric keys• Perform asymmetric encryption• Derive password based keys• Create message authentication

codes (MACs)• Hash content• Digitally sign content• Asynchronous protection of static

data• Asynchronous protection of a data

stream• Create a certificate• Create a self-signed certificate

• Install a certificate response• Import a certificate in PFX format• Use smart card certificates and keys

(sharedUserCertificates capabilities set)

• Use certificates from the user MY store (sharedUserCertificates capabilities set)

• Specify per application trusted root certificates

• Specify per application peer trusted certificates

• Explicitly disable inheritance from system trust

• Specify the certificate selection criteria

Page 11: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Cryptography namespaces

Windows.Security.CryptographyStatic class for encoding and decoding data, generating random numbers, and converting between byte arrays and buffers

Windows.Security.Cryptography.CertificatesTypes you can use to create certificate requests and install certificate responses

Windows.Security.Cryptography.CoreAlgorithms for encrypting, signing, and hashing data

Windows.Security.Cryptography.DataProtectionEncrypt or decrypt static data or a data stream*requires Enterprise Authentication capability and should only be used in enterprise scenarios

Page 12: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

CODESHOW: CRYPTOGRAPHY AND ENCRYPTION

demo

Page 13: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

Summary

Design and implement data caching

Save and retrieve files from the file system

Secure application data

Page 14: Advanced Windows 8 Apps Using JavaScript Jump Start 70-482 Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.