Граф коммитов

385 Коммитов

Автор SHA1 Сообщение Дата
Phil Smith 61cf0e2ef9 Update nuspec in anticipation for 0.11 release. 2018-01-08 17:04:24 -08:00
Phil Smith ccb0a2e531 Merged PR 1287043: Merge feature to master 2018-01-08 18:27:34 +00:00
Phil Smith d2156dad3a Merged PR 1223885: Enable package identity validation as part of validation of signed packages
This change connects the pulling of the subject of the certificate used to sign the package up to the Package object which then handles coordination of signature enforcement by way of a simple string compare against the publisher portion of the identity section of the appx manifest.  For now, we're skipping appx manifest schema validation (much like how the Windows' AppxPackaging stack does at the tooling layer).  We'll enable XSD validation of the appx manifest and provide a relief switch for tooling support in a subsequent patch as there are multiple XSD issues w.r.t. the AppxManifest XSDs that have to be worked out in the new year.  Testing was done by way of existing BVT coverage.  The most recent patch applied to this PR was a fix that was found as a result of running the BVTs on MacOS.
2017-12-18 03:11:54 +00:00
Phillip Smith ebe2a4b4de Consider the number of characters returned in BIO_get_mem_data when creating publisher string instead of relying on null termination. 2017-12-17 17:31:29 -08:00
Phillip Smith 145caab14a Fix break on Clang/LLVM 2017-12-15 23:49:02 -08:00
Phil Smith 1f32cad6da Merge branch 'getidentity' of https://microsoft.visualstudio.com/DefaultCollection/_git/xPlatAppx into getidentity 2017-12-15 15:15:30 -08:00
Phil Smith 54e3997e60 Hook up logging through to the BVTs 2017-12-15 14:30:24 -08:00
Phil Smith 915f9f3da4 Bring GetPublisherName in OpenSSL implementation closer to the CertNameToStr implementation on Windows. 2017-12-14 17:26:01 -08:00
Phil Smith ff1d6cab7d Finish plumbing the signature string from the manifest into the package object where the publisher of the manifested package must match that of the signature to be considered a valid package (assuming that validation of the p7x is NOT skipped). 2017-12-14 15:49:55 -08:00
Ruben Guerrero Samaniego c6e2d9342b Get Package Identity from manifest (no schema) 2017-12-14 14:51:58 -08:00
Phil Smith 0540485bac small cleanup in BVT logs. 2017-12-13 18:23:05 -08:00
Phil Smith 71796a704a A little cleanup for the Win32 BVTs now that they're passing. 2017-12-13 18:00:49 -08:00
Phil Smith 194b516a59 Fix test cases on Mac. 2017-12-13 17:57:50 -08:00
Phil Smith 7d1e13fccf add some additional error messages and logic around cleanup for running in the BVTs 2017-12-13 17:38:20 -08:00
Phil Smith a53aa7586d Failure to find MakeXplat should be a failure for the BVTs! 2017-12-13 16:06:03 -08:00
Phil Smith 866f5dd5e5 Additional fixes to test scripts in preperation for integrating with automated BVTs 2017-12-13 15:51:10 -08:00
Phil Smith 6894ba9e78 Move test scripts into more appropriate folders in anticipation of changes from Tom 2017-12-13 14:36:06 -08:00
Phil Smith 12defe0b23 Merged PR 1212884: Merge feature to master 2017-12-12 23:30:24 +00:00
Phil Smith b7ff4d10b3 Push release builds to as small as possible. Will add chk builds in a subsequent patch. 2017-12-12 14:55:32 -08:00
Ruben Guerrero Samaniego 91c4aa6ede Merged PR 1208715: Enable Android build
Scripts for building Android on Linux for our build system and for windows for local development.
Archs:
- x86
- arm
- armv7a
- arm64
2017-12-12 20:50:36 +00:00
Phil Smith 1ff20a5349 Updated README.md 2017-12-12 00:51:19 +00:00
Phil Smith 009166a7cb Merged PR 1206790: Merge feature to master
Bunch of bug fixes, and enable Linux and x64 Windows builds.

Related work items: #14874780, #14883294, #14942409, #14942463, #14986525, #14998095
2017-12-11 20:54:32 +00:00
Phil Smith 7aaee2fa2b Updated README.md 2017-12-08 20:44:44 +00:00
Phil Smith ee39aa9634 Updated README.md 2017-12-08 20:38:05 +00:00
Phil Smith 03d0425e0d Merged PR 1189137: Add schema validation of [content_types].xml
Change adds three new test cases: 2 w.r.t. [content_types].xml and one w.r.t. an invalid opc container due to an invalid zip archive (something we were otherwise missing in our test collateral).  The opc-contentTypes XSD comes straight from the ECMA 376 standard: https://www.ecma-international.org/publications/standards/Ecma-376.htm  Confirmed that makeappx fails with OPC_E_INVALID_CONTENT_TYPE_XML (0x80510006 ) and OPC_E_NONCONFORMING_CONTENT_TYPES_XML (0x80510008) with both of these packages when using the /nv switch (to get around the fact that technically, the signatures aren't valid).

The only code change required for this validation was to include the XSD, and pass it to the XmlObject, everything else was already wired up (as per blockmap validation).

Related work items: #14986525
2017-12-08 19:57:41 +00:00
Phil Smith feca8bdc23 Pull up initial test automation changes into feature 2017-12-08 19:56:43 +00:00
Ruben Guerrero Samaniego 1bdd4d7599 Merged PR 1191930: Remove not compliant escape character from manifests
Self-approved

Remove \b on manifests

Related work items: #14998095
2017-12-07 18:30:15 +00:00
Thomas Olsen 935cbeee11 remove exception handler from GetPublisherName 2017-12-06 16:53:34 -08:00
Thomas Olsen 356c15b32a Merge branch 'helpphil' of https://microsoft.visualstudio.com/DefaultCollection/_git/xPlatAppx into helpphil 2017-12-06 15:53:36 -08:00
Thomas Olsen 242bb03993 fix publisher issues 2017-12-06 15:53:25 -08:00
Phil Smith 45140194a5 Merge remote-tracking branch 'origin/feature' into helpphil 2017-12-06 15:19:50 -08:00
Thomas Olsen (WINDOWS) 821d5ff985 publisher name, test script 2017-12-05 18:24:06 -08:00
Thomas Olsen (WINDOWS) c6e15e2c6c publisher name 2017-12-05 18:09:44 -08:00
Thomas Olsen ee0f8900a5 Merge branch 'helpphil' of https://microsoft.visualstudio.com/DefaultCollection/_git/xPlatAppx into helpphil 2017-12-05 16:49:20 -08:00
Thomas Olsen 33fc6b7cd8 publisher 2017-12-05 16:49:09 -08:00
Phil Smith 5b22effaaf small changes to non win32 test script 2017-12-05 16:22:34 -08:00
Thomas Olsen (WINDOWS) 858f4d1495 Win32.ps1 2017-12-05 14:55:18 -08:00
Thomas Olsen 56e2eddfaf Win32.ps 2017-12-05 14:00:50 -08:00
Thomas Olsen 1edceece05 MacOS-Linux test script 2017-12-05 13:09:38 -08:00
Ruben Guerrero Samaniego a4c27c4162 Merged PR 1168654: Unpack save files with their encoding name, instead of the name on the BlockMap
Fix saving the files using the percentage encoding name that OPC uses. We now save files as the name defined in the AppxBlockMap.xml file.

Unpacking test\appx\BlockMap\HelloWorld.appx used to produce a file with name Shortcut%20File\HelloWorld.appxref-ms and now is Shortcut File\HelloWorld.appxref-ms

Unpacking test\appx\HelloWorld.appx used to produce a files with name icon-32%255B2%255D.png and icon-32%25255B2%25255D.png and now is icon-32%5B2%5D.png and icon-32%255B2%255D.png respectively.

Related work items: #14874780
2017-12-05 01:18:11 +00:00
Ruben Guerrero Samaniego 0a2745c16c Merged PR 1174182: Don't allow [Content_Types].xml in the AppxBlockMap.appx file
Explicitly check that [Content_Types].xml is not part of the AppxBlockMap.appx file

// Test
bin\makexplat.exe unpack -d output -p ..\test\appx\BlockMap\ContentTypes_in_blockmap.appx -ss
Microsoft (R) bin\makexplat.exe version
Copyright (C) 2017 Microsoft.  All rights reserved.
Error: 8bad0001

Related work items: #14883294
2017-12-05 00:49:14 +00:00
Phil Smith b02e1ff6b5 Merged PR 1179009: Merge bug_14942409 to feature
Enable 64-bit builds for Windows platforms.
2017-12-04 22:35:57 +00:00
Ruben Guerrero Samaniego fa4a100b93 Merged PR 1178835: Fix Linux Build
Add static_cast for std::min

Related work items: #14942463
2017-12-04 22:21:22 +00:00
Phil Smith 11eed14c14 Update package nuspec with release details. 2017-12-01 17:54:54 -08:00
Phil Smith 979555d5f0 Update package nuspec with release details. 2017-12-01 17:54:20 -08:00
Phil Smith 1b3a793207 Merged PR 1174077: Merge feature to master
Related work items: #13953396, #14265946, #14728194, #14877146, #14879794, #14894942, #14914290
2017-12-02 01:29:29 +00:00
Phil Smith 5cf9f31378 Update package nuspec with release details. 2017-12-01 17:26:35 -08:00
Ruben Guerrero Samaniego 11dd790260 Merged PR 1173545: ExtractContentsSample.cpp fails with E_NOTIMPL
Sample fails with E_NOTIMPL because HashStream and BlockMapStream don't override the IAppxFile implementation of StreamBase.

// Test with
bin\ExtractContentsSample.exe ..\test\appx\StoreSigned_Desktop_x64_MoviesTV.appx output
Extracting footprint files from the package...
File name: AppxManifest.xml
Content type: TODO: Implement
Size: 13627 bytes
File name: AppxBlockMap.xml
Content type: TODO: Implement
Size: 59403 bytes
...

Related work items: #14914290
2017-12-02 01:20:48 +00:00
Phil Smith 854f873fe2 Merged PR 1172675: Bring up OpenSSL signature validation on non-Windows platforms
This change implements Signature validation on non-Windows platforms by way of OpenSSL.

Related work items: #13953396
2017-12-02 01:17:47 +00:00
Phil Smith 73ad7eb3da Make sure that we properly handle Skipping Signature Validation in the OpenSSL case. This is the relief valve for LOB/Enterprise cases until we can get the keychain on Apple devices, and the moral equivalent on AOSP sometime in the future (presently unclear if there IS any standard moral equivalent to the keychain on varriants of Linux, but that may be simply my ignorance on the matter -- I suspect that there is on *some* variants, but that there are configuraiton differences in general). 2017-12-01 13:38:58 -08:00