mirror of
https://github.com/jamesstringer90/appsandbox.git
synced 2026-10-22 02:52:49 -05:00
YubiKey-gated signing/packaging driven from the VS Release|x64 build: - make-release.ps1 / sign-drivers.ps1: EV-sign all binaries + driver .sys/.dll, submit drivers to Microsoft for attestation in parallel, deposit the returned MS-signed drivers into bin\Release\drivers, and build a flat AppSandbox-<ver>-x64.zip. Token presence is detected via WinSCard + a silent NCrypt key-open, so an unplugged or unrelated card never triggers an "insert smart card" dialog; no token => test-sign only, no packaging. - AppSandboxPackage.vcxproj runs it as a post-build step. - Directory.Build.props/targets + build/version.rc: single-source version stamped into every binary and into the driver INFs (StampInf). - VDD INF: pull WUDFRd via Include/Needs + Win11 decoration to pass infverif /h for Partner Center submission. - Default new Windows VMs to Test Mode off (shipped drivers are MS-signed). - SIGNING.md documents the git-ignored partner-center.local.json that you must create with the Entra API secrets for driver attestation. Partner Center credentials stay in git-ignored tools/sign/*.local.* files.
157 lines
5.1 KiB
Plaintext
157 lines
5.1 KiB
Plaintext
[Version]
|
|
Signature = "$Windows NT$"
|
|
Class = MEDIA
|
|
Provider = %ProviderName%
|
|
ClassGUID = {4d36e96c-e325-11ce-bfc1-08002be10318}
|
|
DriverVer = ; stamped at build time by StampInf (version from Directory.Build.props $(AsbVersion))
|
|
CatalogFile = AppSandboxVAD.cat
|
|
PnpLockdown = 1
|
|
|
|
[SourceDisksNames]
|
|
222="APPSANDBOXVAD Driver Disk","",222
|
|
|
|
[SourceDisksFiles]
|
|
appsandboxvad.sys=222
|
|
|
|
[SignatureAttributes]
|
|
appsandboxvad.sys=SignatureAttributes.DRM
|
|
|
|
[SignatureAttributes.DRM]
|
|
DRMLevel=1300
|
|
|
|
[SignatureAttributes.PETrust]
|
|
PETrust=true
|
|
|
|
[Manufacturer]
|
|
%MfgName%=APPSANDBOXVAD,NT$ARCH$.10.0...22000
|
|
|
|
[APPSANDBOXVAD.NT$ARCH$.10.0...22000]
|
|
%APPSANDBOXVAD_SA.DeviceDesc%=APPSANDBOXVAD_SA, ROOT\AppSandboxVAD
|
|
|
|
[DestinationDirs]
|
|
APPSANDBOXVAD_SA.CopyList=13 ; 13=Package's DriverStore directory
|
|
|
|
;=============================================================================
|
|
; APPSANDBOXVAD_SA
|
|
;=============================================================================
|
|
[APPSANDBOXVAD_SA.CopyList]
|
|
appsandboxvad.sys
|
|
|
|
[APPSANDBOXVAD_SA.AddReg]
|
|
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
|
|
HKR,,Driver,,appsandboxvad.sys
|
|
|
|
HKR,PowerSettings,SingleComponentMultiFxStates,3,1,0,0,0
|
|
HKR,PowerSettings,ConservationIdleTime,3,3,0,0,0
|
|
HKR,PowerSettings,PerformanceIdleTime,3,3,0,0,0
|
|
HKR,PowerSettings,IdlePowerState,3,3,0,0,0
|
|
|
|
HKR,Drivers,SubClasses,,"wave,midi,mixer"
|
|
|
|
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
|
|
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
|
|
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
|
|
|
|
HKR,Drivers\wave\wdmaud.drv,Description,,%APPSANDBOXVAD_SA.DeviceDesc%
|
|
HKR,Drivers\mixer\wdmaud.drv,Description,,%APPSANDBOXVAD_SA.DeviceDesc%
|
|
|
|
;=============================================================================
|
|
; render interfaces: speaker (internal)
|
|
;=============================================================================
|
|
[APPSANDBOXVAD.I.WaveSpeaker]
|
|
AddReg=APPSANDBOXVAD.I.WaveSpeaker.AddReg
|
|
[APPSANDBOXVAD.I.WaveSpeaker.AddReg]
|
|
HKR,,CLSID,,%Proxy.CLSID%
|
|
HKR,,FriendlyName,,%APPSANDBOXVAD.WaveSpeaker.szPname%
|
|
|
|
[APPSANDBOXVAD.I.TopologySpeaker]
|
|
AddReg=APPSANDBOXVAD.I.TopologySpeaker.AddReg
|
|
|
|
[APPSANDBOXVAD.I.TopologySpeaker.AddReg]
|
|
HKR,,CLSID,,%Proxy.CLSID%
|
|
HKR,,FriendlyName,,%APPSANDBOXVAD.TopologySpeaker.szPname%
|
|
|
|
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
|
|
|
|
; Opt-in to event-driven (pull) mode.
|
|
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1
|
|
|
|
;=============================================================================
|
|
; APPSANDBOXVAD_SA
|
|
;=============================================================================
|
|
[APPSANDBOXVAD_SA.NT]
|
|
Include=ks.inf, wdmaudio.inf
|
|
Needs=KS.Registration, WDMAUDIO.Registration
|
|
CopyFiles=APPSANDBOXVAD_SA.CopyList
|
|
AddReg=APPSANDBOXVAD_SA.AddReg
|
|
|
|
[APPSANDBOXVAD_SA.NT.Interfaces]
|
|
;
|
|
; Interfaces for speaker (internal) render endpoint.
|
|
;
|
|
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_WaveSpeaker%, APPSANDBOXVAD.I.WaveSpeaker
|
|
AddInterface=%KSCATEGORY_RENDER%, %KSNAME_WaveSpeaker%, APPSANDBOXVAD.I.WaveSpeaker
|
|
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_WaveSpeaker%, APPSANDBOXVAD.I.WaveSpeaker
|
|
AddInterface=%KSCATEGORY_AUDIO%, %KSNAME_TopologySpeaker%,APPSANDBOXVAD.I.TopologySpeaker
|
|
AddInterface=%KSCATEGORY_TOPOLOGY%, %KSNAME_TopologySpeaker%,APPSANDBOXVAD.I.TopologySpeaker
|
|
|
|
[APPSANDBOXVAD_SA.NT.Services]
|
|
AddService=AppSandboxVAD,0x00000002,AppSandboxVAD_Service_Inst
|
|
|
|
[AppSandboxVAD_Service_Inst]
|
|
DisplayName=%AppSandboxVAD.SvcDesc%
|
|
ServiceType=1
|
|
StartType=3
|
|
ErrorControl=1
|
|
ServiceBinary=%13%\appsandboxvad.sys
|
|
|
|
[APPSANDBOXVAD_SA.NT.HW]
|
|
AddReg = AUDIOHW.AddReg
|
|
|
|
[AUDIOHW.AddReg]
|
|
; FILE_DEVICE_SOUND
|
|
HKR,,DeviceType,0x10001,0x0000001D
|
|
; SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_RWX_RES_RWX
|
|
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;RC)"
|
|
|
|
;=============================================================================
|
|
; WDF
|
|
;=============================================================================
|
|
[APPSANDBOXVAD_SA.NT.Wdf]
|
|
KmdfService = AppSandboxVAD, APPSANDBOXVAD_SA_WdfSect
|
|
[APPSANDBOXVAD_SA_WdfSect]
|
|
KmdfLibraryVersion = $KMDFVERSION$
|
|
|
|
;=============================================================================
|
|
; COMMON
|
|
;=============================================================================
|
|
[Strings]
|
|
|
|
;Non-localizable
|
|
|
|
KSNAME_WaveSpeaker="WaveSpeaker"
|
|
KSNAME_TopologySpeaker="TopologySpeaker"
|
|
|
|
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
|
|
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
|
|
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
|
|
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}"
|
|
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}"
|
|
|
|
KSNODETYPE_ANY = "{00000000-0000-0000-0000-000000000000}"
|
|
|
|
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
|
|
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"
|
|
|
|
;Localizable
|
|
|
|
ProviderName = "AppSandbox"
|
|
MfgName = "AppSandbox"
|
|
|
|
APPSANDBOXVAD_SA.DeviceDesc="App Sandbox Virtual Audio"
|
|
AppSandboxVAD.SvcDesc="App Sandbox Virtual Audio"
|
|
|
|
;; friendly names
|
|
APPSANDBOXVAD.WaveSpeaker.szPname="App Sandbox Virtual Audio"
|
|
APPSANDBOXVAD.TopologySpeaker.szPname="App Sandbox Virtual Audio"
|