Skip to content

Commit

Permalink
Added support for wolfSSL
Browse files Browse the repository at this point in the history
Implements platform hooks to enable wolfcrypt as an alternative crypto engine. ECC, RSA, AES, and hashing is enabled and tested. Adds specific wolfSSL configurations to the TPM simulator project.
  • Loading branch information
Britel committed Feb 22, 2018
1 parent e37233f commit 5e0fa6b
Show file tree
Hide file tree
Showing 23 changed files with 1,719 additions and 518 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -290,5 +290,11 @@ __pycache__/
# TPM simulator run-time/state files
NVChip
RsaKeyCacheCrt.data

# Ossl support
TPMCmd/OsslInclude/*
TPMCmd/Lib/*

# Wolf Build results
TPMCmd/WolfDebug/*
TPMCmd/WolfRelease/*
50 changes: 36 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
# MS TPM 2.0 Reference Implementation #

This is a Microsoft Visual Studio solution that contains reference implementation of the TPM 2.0 Specification by TCG available at https://trustedcomputinggroup.org/tpm-library-specification.

See the TPMCmd/tpm/include/TpmTypes.h header for the exact revision/date of the TPM 2.0 specification issue, which the given source tree snapshot corresponds to.

Before building the solution:
## Before building the solution ##

1) Uncomment and update the definitions of the following macros in the TPMCmd/tpm/include/VendorString.h header:
- MANUFACTURER
- VENDOR_STRING_1
- FIRMWARE_V1 and FIRMWARE_V2

2) Create TPMCmd/lib folder and place a static OpenSSL library (libeay32.lib or libcrypto.lib) there. This may be either complete static library, or import library accompanying the corresponding DLL. In the latter case you'll need to copy the OpenSSL DLL into the standard Windows search path, so that it was available when you run the simulator executable (e.g. copy it into the same folder where simulator.exe is located).

If you use libcrypto.lib, you'll need to either update "Linker|Input|Additional Dependencies" property of the Tpm project in the simulator solution or, alternatively, rename libcrypto.lib to libeay32.lib.
1. Uncomment and update the definitions of the following macros in the TPMCmd/tpm/include/VendorString.h header:
- MANUFACTURER
- VENDOR_STRING_1
- FIRMWARE_V1 and FIRMWARE_V2

2. Setup the cryptography platform the TPM will use for the underlying primitives:

### OpenSSL library ###

1. Create TPMCmd/lib folder and place a static OpenSSL library (libeay32.lib or libcrypto.lib) there. This may be either complete static library, or import library accompanying the corresponding DLL. In the latter case you'll need to copy the OpenSSL DLL into the standard Windows search path, so that it was available when you run the simulator executable (e.g. copy it into the same folder where simulator.exe is located).

If you use libcrypto.lib, you'll need to either update "Linker|Input|Additional Dependencies" property of the Tpm project in the simulator solution or, alternatively, rename libcrypto.lib to libeay32.lib.

Recommended version of OpenSSL is 1.0.2d or higher.
Recommended version of OpenSSL is 1.0.2d or higher.

2. Create TPMCmd/OsslInclude/openssl folder and copy there the contents of the openssl/include/openssl folder of the OpenSSL source tree used to build the static library used on the step 2).

If you use OpenSSL 1.1, you'll additionally need to:

- Copy the openssl/crypto/bn/bn_lcl.h header to the TPMCmd/OsslInclude/openssl folder;
- Create TPMCmd/OsslInclude/openssl/internal folder and copy there the contents of the openssl/crypto/include/internal folder (do not confuse it with the openssl/include/internal folder that need not be copied).

2. Build the solution with either Debug or Release as the active configuration.

### Wolfcrypt library (wolfSSL) ###

1. WolfSSL is included as a submodule. Initialize and update the submodule to fetch the project and checkout the appropriate commit.

> git submodule init
> git submodule update

The current commit will point the minimum recommended version of wolfSSL. Moving to a more recent tag or commit should also be supported but might not be tested.

3) Create TPMCmd/OsslInclude/openssl folder and copy there the contents of the openssl/include/openssl folder of the OpenSSL source tree used to build the static library used on the step 2).
2. Build the solution with either WolfDebug or WolfRelease as the active configuration.

If you use OpenSSL 1.1, you'll additionally need to:
- Copy the openssl/crypto/bn/bn_lcl.h header to the TPMCmd/OsslInclude/openssl folder;
- Create TPMCmd/OsslInclude/openssl/internal folder and copy there the contents of the openssl/crypto/include/internal folder (do not confuse it with the openssl/include/internal folder that need not be copied).
> msbuild TPMCmd\simulator.sln /p:Configuration=WolfDebug
195 changes: 195 additions & 0 deletions TPMCmd/Platform/platform.vcxproj

Large diffs are not rendered by default.

177 changes: 177 additions & 0 deletions TPMCmd/Simulator/simulator.vcxproj

Large diffs are not rendered by default.

120 changes: 111 additions & 9 deletions TPMCmd/simulator.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2002
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Simulator", "simulator\simulator.vcxproj", "{AAB9FA21-8671-4792-B000-B40A526058AD}"
ProjectSection(ProjectDependencies) = postProject
Expand All @@ -11,11 +11,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Simulator", "simulator\simu
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Platform", "Platform\platform.vcxproj", "{A9249F05-0DF5-4D06-9873-FBBE61B6768B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tpm", "Tpm\TPM.vcxproj", "{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tpm", "tpm\TPM.vcxproj", "{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}"
ProjectSection(ProjectDependencies) = postProject
{A9249F05-0DF5-4D06-9873-FBBE61B6768B} = {A9249F05-0DF5-4D06-9873-FBBE61B6768B}
{73973223-5EE8-41CA-8E88-1D60E89A237B} = {73973223-5EE8-41CA-8E88-1D60E89A237B}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Crypt", "Crypt", "{26AD7978-27E2-46E7-9F8C-36CDB1B5AB01}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl", "wolfcrypt\wolfssl.vcxproj", "{73973223-5EE8-41CA-8E88-1D60E89A237B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Coverage|Win32 = Coverage|Win32
Expand All @@ -39,6 +44,12 @@ Global
Static|Win32 = Static|Win32
Static|x64 = Static|x64
Static|Xbox 360 = Static|Xbox 360
WolfDebug|Win32 = WolfDebug|Win32
WolfDebug|x64 = WolfDebug|x64
WolfDebug|Xbox 360 = WolfDebug|Xbox 360
WolfRelease|Win32 = WolfRelease|Win32
WolfRelease|x64 = WolfRelease|x64
WolfRelease|Xbox 360 = WolfRelease|Xbox 360
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AAB9FA21-8671-4792-B000-B40A526058AD}.Coverage|Win32.ActiveCfg = Coverage|Win32
Expand All @@ -62,8 +73,8 @@ Global
{AAB9FA21-8671-4792-B000-B40A526058AD}.Profile|Xbox 360.ActiveCfg = Profile|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|Win32.ActiveCfg = Release|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|Win32.Build.0 = Release|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|x64.ActiveCfg = Release|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|x64.Build.0 = Release|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|x64.ActiveCfg = WolfRelease|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|x64.Build.0 = WolfRelease|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Release|Xbox 360.ActiveCfg = Release|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.SelfTest|Win32.ActiveCfg = SelfTest|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.SelfTest|Win32.Build.0 = SelfTest|Win32
Expand All @@ -75,6 +86,16 @@ Global
{AAB9FA21-8671-4792-B000-B40A526058AD}.Static|x64.ActiveCfg = Static|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Static|x64.Build.0 = Static|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.Static|Xbox 360.ActiveCfg = Static|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfDebug|Win32.ActiveCfg = WolfDebug|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfDebug|Win32.Build.0 = WolfDebug|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfDebug|x64.ActiveCfg = WolfDebug|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfDebug|x64.Build.0 = WolfDebug|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfDebug|Xbox 360.ActiveCfg = WolfDebug|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfRelease|Win32.ActiveCfg = WolfRelease|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfRelease|Win32.Build.0 = WolfRelease|Win32
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfRelease|x64.ActiveCfg = WolfRelease|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfRelease|x64.Build.0 = WolfRelease|x64
{AAB9FA21-8671-4792-B000-B40A526058AD}.WolfRelease|Xbox 360.ActiveCfg = WolfDebug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Coverage|Win32.ActiveCfg = Coverage|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Coverage|Win32.Build.0 = Coverage|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Coverage|x64.ActiveCfg = Coverage|x64
Expand All @@ -96,8 +117,8 @@ Global
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Profile|Xbox 360.ActiveCfg = Profile|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|Win32.ActiveCfg = Release|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|Win32.Build.0 = Release|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|x64.ActiveCfg = Release|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|x64.Build.0 = Release|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|x64.ActiveCfg = WolfRelease|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|x64.Build.0 = WolfRelease|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Release|Xbox 360.ActiveCfg = Release|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.SelfTest|Win32.ActiveCfg = SelfTest|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.SelfTest|Win32.Build.0 = SelfTest|Win32
Expand All @@ -109,6 +130,20 @@ Global
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Static|x64.ActiveCfg = Static|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Static|x64.Build.0 = Static|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.Static|Xbox 360.ActiveCfg = Static|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|Win32.ActiveCfg = WolfDebug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|Win32.Build.0 = WolfDebug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|x64.ActiveCfg = WolfDebug|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|x64.Build.0 = WolfDebug|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|x64.Deploy.0 = WolfDebug|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|Xbox 360.ActiveCfg = GCC Debug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfDebug|Xbox 360.Deploy.0 = GCC Debug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|Win32.ActiveCfg = WolfRelease|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|Win32.Build.0 = WolfRelease|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|x64.ActiveCfg = WolfRelease|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|x64.Build.0 = WolfRelease|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|x64.Deploy.0 = WolfRelease|x64
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|Xbox 360.ActiveCfg = GCC Debug|Win32
{A9249F05-0DF5-4D06-9873-FBBE61B6768B}.WolfRelease|Xbox 360.Deploy.0 = GCC Debug|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Coverage|Win32.ActiveCfg = Coverage|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Coverage|Win32.Build.0 = Coverage|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Coverage|x64.ActiveCfg = Coverage|x64
Expand All @@ -130,8 +165,8 @@ Global
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Profile|Xbox 360.ActiveCfg = Profile|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|Win32.ActiveCfg = Release|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|Win32.Build.0 = Release|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|x64.ActiveCfg = Release|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|x64.Build.0 = Release|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|x64.ActiveCfg = WolfRelease|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|x64.Build.0 = WolfRelease|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Release|Xbox 360.ActiveCfg = Release|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.SelfTest|Win32.ActiveCfg = SelfTest|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.SelfTest|Win32.Build.0 = SelfTest|Win32
Expand All @@ -143,8 +178,75 @@ Global
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Static|x64.ActiveCfg = Static|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Static|x64.Build.0 = Static|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.Static|Xbox 360.ActiveCfg = Static|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfDebug|Win32.ActiveCfg = WolfDebug|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfDebug|Win32.Build.0 = WolfDebug|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfDebug|x64.ActiveCfg = WolfDebug|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfDebug|x64.Build.0 = WolfDebug|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfDebug|Xbox 360.ActiveCfg = WolfDebug|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfRelease|Win32.ActiveCfg = WolfRelease|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfRelease|Win32.Build.0 = WolfRelease|Win32
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfRelease|x64.ActiveCfg = WolfRelease|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfRelease|x64.Build.0 = WolfRelease|x64
{B7456491-A2ED-4B1C-B59E-41C7B32B7E3B}.WolfRelease|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Coverage|Win32.ActiveCfg = Coverage|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Coverage|x64.ActiveCfg = Coverage|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Coverage|x64.Deploy.0 = Coverage|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Coverage|Xbox 360.ActiveCfg = Coverage|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Win32.ActiveCfg = WolfDebug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|x64.ActiveCfg = WolfDebug|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Debug|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|Win32.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|x64.Deploy.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.GccCompile|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|Win32.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|x64.Deploy.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Profile|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Release|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Release|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Release|x64.Build.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Release|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Release|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|Win32.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|x64.Deploy.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.SelfTest|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|Win32.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|x64.Deploy.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|Xbox 360.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.Static|Xbox 360.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|Win32.ActiveCfg = WolfDebug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|Win32.Build.0 = WolfDebug|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|x64.ActiveCfg = WolfDebug|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|x64.Build.0 = WolfDebug|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|Xbox 360.ActiveCfg = Coverage|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfDebug|Xbox 360.Deploy.0 = Coverage|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|Win32.ActiveCfg = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|Win32.Build.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|Win32.Deploy.0 = WolfRelease|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|x64.ActiveCfg = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|x64.Build.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|x64.Deploy.0 = WolfRelease|x64
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|Xbox 360.ActiveCfg = Coverage|Win32
{73973223-5EE8-41CA-8E88-1D60E89A237B}.WolfRelease|Xbox 360.Deploy.0 = Coverage|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{73973223-5EE8-41CA-8E88-1D60E89A237B} = {26AD7978-27E2-46E7-9F8C-36CDB1B5AB01}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C15EF5ED-F2C1-4785-A9C2-A2D213A367F7}
EndGlobalSection
EndGlobal
Loading

0 comments on commit 5e0fa6b

Please sign in to comment.