11/12/2017 12:06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.

Slides:



Advertisements
Similar presentations
Introducing the UWP.
Advertisements

Easy for users to get & stay current Unified core and app platform Windows Phone 7.5 Windows Phone 8 Windows Phone 8.1 Windows 8 Xbox One Windows on Devices.
Easy for users to get & stay current Unified core and app platform Windows Phone 7.5 Windows Phone 8 Windows Phone 8.1 Windows 8 Xbox One Windows on Devices.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
Easy for users to get & stay current Unified core and app platform Windows Phone 7.5 Windows Phone 8 Windows Phone 8.1 Windows 8 Xbox One Windows on Devices.
The Windows 10 App platform: an introduction to the UWP Andy Wigley b:
1/25/2018 9:55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
4/18/2018 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
5/3/2018 2:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
5/12/2018 3:54 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Wireless Communication and Networks
The Universal Windows Platform
Tooling Breakout Session
Cloud-First, Modern Windows Management and Security
Microsoft /4/2018 8:21 AM BRK3082 Build solutions and apps with Microsoft OneDrive API and Microsoft Graph API Ryan Gregg Principal Program Manger,
Microsoft Virtual Academy
Windows Developer Day Fall Creators Update October 10, 2017.
6/12/2018 3:52 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Develop and support applications in Windows as a Service
Build Connected Productivity Apps for SharePoint and Office
Microsoft Ignite /18/2018 8:30 PM BRK2065
Developing Drivers in Visual Studio
WinHEC /30/2018 6:37 AM © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Building a great Metro style device app for your printer
Microsoft Build /13/2018 2:24 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Security in Windows Store apps
Desktop App Converter (Project Centennial)
Customizing your device experience with assigned access
Microsoft Build /17/2018 5:42 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Modernizing App Experiences
Microsoft Build /19/2018 7:06 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Newness and Coolness in Configuration MANAGER
Building Metro style apps that connect to specialized devices
Microsoft Build /8/2018 8:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Excel REST API updates Sudhi Ramamurthy Sr. Program Manager.
Microsoft Build /12/2018 2:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Developing and Supporting Apps in Windows as a Service (WaaS)
Laura A. Robinson July 10, June 30, /15/2018 4:19 PM
Microsoft Ignite /20/2018 2:21 PM
Windows Device Portal and Remote Diagnostics
Building a great Metro style device app for your camera
11/23/2018 3:03 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Bring existing desktop apps to UWP with the Desktop Bridge
Hosted Web Apps with Windows App Studio
11/27/2018 6:59 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Version Binding UWP Apps & Driver Packages
11/29/ :47 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Building and delivering a great Metro style app for your device
Skype for Business – App SDK
Prepare your apps for Windows 8 and beyond
A/B Testing for UWP Apps: Experiment for Success
Microsoft Connect /31/2018 7:21 AM
Microsoft Virtual Academy
Device Apps Joseph Ngari| Program Manager.
File type associations and AutoPlay
1/2/2019 9:19 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
Best practices for packaging and distributing device drivers
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Delivering great hardware solutions for Windows
4/15/2019 1:57 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Modern LoB App Deployment
Simplify the management of your M365 workplace with analytics
Device Access Tomas Lukša.
Microsoft Virtual Academy
The complete developer's guide to the SkyDrive API
User Segmentation and Targeted Push Notifications for UWP apps
WDF Custom Driver Design Pattern
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Presentation transcript:

11/12/2017 12:06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11/12/2017 12:06 PM P4086 Beyond App Containers: Gaining privileged access to hardware inside your Windows app using Custom Capabilities Viraf Gandhi Ben McGregor Sr. Program Manager Sr. Software Developer © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Hardware apps landscape IHV and OEM applications: Mostly Win32 Provides user control of hardware functionality settings Pre-installed or installed with a driver (specific to hardware) via WU or setup.exe from a Website Problem: Desktop only Can not be serviced outside an “updater app” Get easily out of sync with OS upgrades Most require a co-installer

Multiple device families Windows 10 for all PC Xbox Multiple device families Mobile HoloLens Surface Hub Devices +IoT Adaptive user interface Common APIs and SDK Natural user inputs Common store and dev center Common toolset One App Platform

What about WSDA? Windows Store Device Apps are only available on desktop Complex authoring experience Device Metadata provisioning adds additional cloud dependency No Scalable, secure access to NT Services

Introducing Custom Capability Microsoft Build 2017 11/12/2017 12:06 PM Introducing Custom Capability New in Windows 10 Creators Update!!! Provide capability driven secure access to NT Services & Drivers for UWP App App Capabilities gate access to certain APIs and resources Custom Capability declared in APP Package Manifest <Capabilities> <uap4:CustomCapability   Name=”CompanyName.capabilityName_PublisherID” /> </Capabilities> Capability Type Intent Examples General-Use Most common app scenarios Music, Pictures, etc Device Access to peripherals & internal devices Location, Proximity, etc Restricted Specific Microsoft approved scenarios Enterprise Authentication, Document library access, etc NEW: Custom Capability Capability Owner can securely manage access to their hardware or service from UWP apps Access to GPU from app © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Custom Capability opens access to system software Access to system software enabled by a custom capability defined by the driver package author UWP app initiated communication with NT Service Leverages familiar RPC Protocol Driver access enabled using Windows.Devices.Custom UWP App Custom Capability Windows.Devices.Custom RPC Apps System Software Custom Capability Custom Capability Driver (User or Kernel Mode) NT Service New IHV IHV or OEM

Granting Custom Capability Access Microsoft Build 2017 11/12/2017 12:06 PM Granting Custom Capability Access Driver Access Via INF Within the Driver Code NT Service RPC Endpoint const WCHAR* CustomCapabilityName = L"microsoft.hsaTestCustomCapability_q536wpkpf5cy2"; ... DeriveCapabilitySidsFromName(...) InitializeSecurityDescriptor(...) status = RpcServerUseProtseqEp( reinterpret_cast<RPC_WSTR>(protocolSequence), RPC_C_PROTSEQ_MAX_REQS_DEFAULT, reinterpret_cast<RPC_WSTR>(RPC_STATIC_ENDPOINT), &rpcSecurityDescriptor); status = RpcServerRegisterIf3( RpcInterface_v1_0_s_ifspec, nullptr, RPC_IF_AUTOLISTEN | RPC_IF_ALLOW_LOCAL_ONLY, RPC_C_LISTEN_MAX_CALLS_DEFAULT, 0, © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Can any UWP app declare a Custom Capability? Microsoft Build 2017 11/12/2017 12:06 PM Can any UWP app declare a Custom Capability? NO!! Only authorized apps can declare them Authorization is granted by including a Signed Custom Capability Descriptor (SCCD) in the APPX <?xml version="1.0" encoding="utf-8"?> <CustomCapabilityDescriptor xmlns="http://schemas.microsoft.com/appx/2016/sccd" xmlns:s="http://schemas.microsoft.com/appx/2016/sccd"> <CustomCapabilities> <CustomCapability Name="microsoft.hsaTestCustomCapability_q536wpkpf5cy2"></CustomCapability> </CustomCapabilities> <AuthorizedEntities> <AuthorizedEntity AppPackageFamilyName="MicrosoftHSATest.Microsoft.SDKSamples.Hsa.CPP_q536wpkpf5cy2“ CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"> </AuthorizedEntity> </AuthorizedEntities> <Catalog>FFFF</Catalog> </CustomCapabilityDescriptor> © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Trust Model – Developer Workflow Code Signing Root Certificate HW dev lists app dev as an authorized user of a custom capability App dev requests a Signed Custom Capability Definition file (SCCD) for the capability, providing a root certificate as input App dev packages SCCD with app At install time, OS validates the content of the SCCD UWP App granted access to capability if app is authorized by the SCCD If app is not authorized, it will not be installed Custom Capability Manager Dev Center Appx Target Client SCCD UWP App OS Code Windows OS UWP App ISV Container IHV Container Driver (User or Kernel Mode) NT Service

Microsoft Build 2017 11/12/2017 12:06 PM Demo Enabling privileged access to hardware inside your Windows app using Custom Capabilities © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Build 2017 11/12/2017 12:06 PM Recap Custom Capabilities enable privileged access to hardware from UWP app Coming Soon: App targeting without needing device metadata & improved app acquisition experience UWP app sample: http://go.microsoft.com/fwlink/p/?LinkId=846904 Driver sample: https://aka.ms/customcapabilitydriversample Getting started guide: https://aka.ms/customcapabilitymsdndoc © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11/12/2017 12:06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.