upgrade project files to MSVC 2005 and add x64 platform

import/raw
weidai 2006-01-30 14:00:54 +00:00
parent 50fc722574
commit 9e7fd48c69
8 changed files with 12395 additions and 4118 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 8.00 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptdll", "cryptdll.vcproj", "{EBD86293-69A9-456B-B814-916E12AA9BBF}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptdll", "cryptdll.vcproj", "{EBD86293-69A9-456B-B814-916E12AA9BBF}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{9EAFA456-89B4-4879-AD4F-C2C341184CF5} = {9EAFA456-89B4-4879-AD4F-C2C341184CF5} {9EAFA456-89B4-4879-AD4F-C2C341184CF5} = {9EAFA456-89B4-4879-AD4F-C2C341184CF5}
@ -10,8 +11,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptest", "cryptest.vcproj
EndProjectSection EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "cryptlib.vcproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "cryptlib.vcproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dlltest", "dlltest.vcproj", "{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dlltest", "dlltest.vcproj", "{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
@ -19,50 +18,83 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dlltest", "dlltest.vcproj",
EndProjectSection EndProjectSection
EndProject EndProject
Global Global
GlobalSection(SolutionConfiguration) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug = Debug Debug|Win32 = Debug|Win32
DLL-Import Debug = DLL-Import Debug Debug|x64 = Debug|x64
DLL-Import Release = DLL-Import Release DLL-Import Debug|Win32 = DLL-Import Debug|Win32
Release = Release DLL-Import Debug|x64 = DLL-Import Debug|x64
DLL-Import Release|Win32 = DLL-Import Release|Win32
DLL-Import Release|x64 = DLL-Import Release|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EBD86293-69A9-456B-B814-916E12AA9BBF}.Debug.ActiveCfg = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Debug|Win32.ActiveCfg = Debug|Win32
{EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug.ActiveCfg = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Debug|Win32.Build.0 = Debug|Win32
{EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug.Build.0 = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Debug|x64.ActiveCfg = Debug|x64
{EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release.ActiveCfg = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Debug|x64.Build.0 = Debug|x64
{EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release.Build.0 = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{EBD86293-69A9-456B-B814-916E12AA9BBF}.Release.ActiveCfg = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{EBD86293-69A9-456B-B814-916E12AA9BBF}.Release.Build.0 = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug.ActiveCfg = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Debug|x64.Build.0 = Debug|x64
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug.Build.0 = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug.ActiveCfg = DLL-Import Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release|Win32.Build.0 = Release|Win32
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug.Build.0 = DLL-Import Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release|x64.ActiveCfg = Release|x64
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release.ActiveCfg = DLL-Import Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.DLL-Import Release|x64.Build.0 = Release|x64
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release.Build.0 = DLL-Import Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Release|Win32.ActiveCfg = Release|Win32
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release.ActiveCfg = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Release|Win32.Build.0 = Release|Win32
{9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release.Build.0 = Release|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Release|x64.ActiveCfg = Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug.ActiveCfg = Debug|Win32 {EBD86293-69A9-456B-B814-916E12AA9BBF}.Release|x64.Build.0 = Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug.Build.0 = Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug.ActiveCfg = DLL-Import Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug.Build.0 = DLL-Import Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug|x64.ActiveCfg = Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release.ActiveCfg = DLL-Import Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Debug|x64.Build.0 = Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release.Build.0 = DLL-Import Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug|Win32.ActiveCfg = DLL-Import Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release.ActiveCfg = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug|Win32.Build.0 = DLL-Import Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release.Build.0 = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug|x64.ActiveCfg = DLL-Import Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Debug.ActiveCfg = Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Debug|x64.Build.0 = DLL-Import Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug.ActiveCfg = Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release|Win32.ActiveCfg = DLL-Import Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug.Build.0 = Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release|Win32.Build.0 = DLL-Import Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release.ActiveCfg = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release|x64.ActiveCfg = DLL-Import Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release.Build.0 = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.DLL-Import Release|x64.Build.0 = DLL-Import Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release.ActiveCfg = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release|Win32.ActiveCfg = Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release.Build.0 = Release|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release|Win32.Build.0 = Release|Win32
{E58DEF35-2B67-4BBD-9F70-13A45474650F}.Debug.ActiveCfg = Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release|x64.ActiveCfg = Release|x64
{E58DEF35-2B67-4BBD-9F70-13A45474650F}.DLL-Import Debug.ActiveCfg = DLL-Import Debug|Win32 {9EAFA456-89B4-4879-AD4F-C2C341184CF5}.Release|x64.Build.0 = Release|x64
{E58DEF35-2B67-4BBD-9F70-13A45474650F}.DLL-Import Release.ActiveCfg = DLL-Import Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.ActiveCfg = Debug|Win32
{E58DEF35-2B67-4BBD-9F70-13A45474650F}.Release.ActiveCfg = Release|Win32 {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.ActiveCfg = Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.Build.0 = Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.ActiveCfg = DLL-Import Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.Build.0 = DLL-Import Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.ActiveCfg = DLL-Import Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.Build.0 = DLL-Import Debug|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.ActiveCfg = DLL-Import Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.Build.0 = DLL-Import Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.ActiveCfg = DLL-Import Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.Build.0 = DLL-Import Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.ActiveCfg = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.Build.0 = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.ActiveCfg = Release|x64
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.Build.0 = Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Debug|Win32.ActiveCfg = Debug|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Debug|Win32.Build.0 = Debug|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Debug|x64.ActiveCfg = Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Debug|x64.Build.0 = Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Debug|x64.Build.0 = Debug|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release|Win32.Build.0 = Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release|x64.ActiveCfg = Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.DLL-Import Release|x64.Build.0 = Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release|Win32.ActiveCfg = Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release|Win32.Build.0 = Release|Win32
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release|x64.ActiveCfg = Release|x64
{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(SolutionProperties) = preSolution
EndGlobalSection HideSolutionNode = FALSE
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,166 +1,414 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="7.10" Version="8.00"
Name="dlltest" Name="dlltest"
SccProjectName="" ProjectGUID="{A7483CE8-2784-46CE-8CB8-8C0C1D27E232}"
SccLocalPath="."> SccLocalPath="."
>
<Platforms> <Platforms>
<Platform <Platform
Name="Win32"/> Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms> </Platforms>
<ToolFiles>
</ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory=".\dlltest___Win32_Release" OutputDirectory="$(PlatformName)\DLL_Output\$(ConfigurationName)"
IntermediateDirectory=".\dlltest___Win32_Release" IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0" UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE" ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="TRUE"> WholeProgramOptimization="1"
>
<Tool <Tool
Name="VCCLCompilerTool" Name="VCPreBuildEventTool"
Optimization="1" />
GlobalOptimizations="TRUE"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="2"
OmitFramePointers="TRUE"
OptimizeForProcessor="3"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
StringPooling="TRUE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\dlltest___Win32_Release/dlltest.pch"
AssemblerListingLocation=".\dlltest___Win32_Release/"
ObjectFile=".\dlltest___Win32_Release/"
ProgramDataBaseFileName=".\dlltest___Win32_Release/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
CallingConvention="2"/>
<Tool <Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"
/>
<Tool <Tool
Name="VCLinkerTool" Name="VCXMLDataGeneratorTool"
AdditionalDependencies="odbc32.lib odbccp32.lib" />
OutputFile="DLL_Release/dlltest.exe" <Tool
LinkIncremental="1" Name="VCWebServiceProxyGeneratorTool"
SuppressStartupBanner="TRUE" />
AdditionalLibraryDirectories="DLL_Release"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\dlltest___Win32_Release/dlltest.pdb"
GenerateMapFile="TRUE"
MapFileName=".\dlltest___Win32_Release/dlltest.map"
SubSystem="1"
TargetMachine="1"/>
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TypeLibraryName=".\dlltest___Win32_Release/dlltest.tlb" TypeLibraryName=".\dlltest___Win32_Release/dlltest.tlb"
HeaderFileName=""/> HeaderFileName=""
/>
<Tool <Tool
Name="VCPostBuildEventTool"/> Name="VCCLCompilerTool"
Optimization="1"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2"
OmitFramePointers="true"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
SuppressStartupBanner="true"
CallingConvention="2"
/>
<Tool <Tool
Name="VCPreBuildEventTool"/> Name="VCManagedResourceCompilerTool"
<Tool />
Name="VCPreLinkEventTool"/>
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG" PreprocessorDefinitions="NDEBUG"
Culture="1033"/> Culture="1033"
/>
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool"/> Name="VCPreLinkEventTool"
<Tool />
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\dlltest___Win32_Debug"
IntermediateDirectory=".\dlltest___Win32_Debug"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\dlltest___Win32_Debug/dlltest.pch"
AssemblerListingLocation=".\dlltest___Win32_Debug/"
ObjectFile=".\dlltest___Win32_Debug/"
ProgramDataBaseFileName=".\dlltest___Win32_Debug/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="4"
CallingConvention="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="odbc32.lib odbccp32.lib" AdditionalDependencies="odbc32.lib odbccp32.lib"
OutputFile="DLL_Debug/dlltest.exe" SuppressStartupBanner="true"
LinkIncremental="1" AdditionalLibraryDirectories=""
SuppressStartupBanner="TRUE" GenerateDebugInformation="true"
AdditionalLibraryDirectories="DLL_Debug"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\dlltest___Win32_Debug/dlltest.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"/> />
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(PlatformName)\DLL_Output\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
TypeLibraryName=".\dlltest___Win32_Debug/dlltest.tlb" TypeLibraryName=".\dlltest___Win32_Debug/dlltest.tlb"
HeaderFileName=""/> HeaderFileName=""
/>
<Tool <Tool
Name="VCPostBuildEventTool"/> Name="VCCLCompilerTool"
Optimization="0"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CallingConvention="2"
/>
<Tool <Tool
Name="VCPreBuildEventTool"/> Name="VCManagedResourceCompilerTool"
<Tool />
Name="VCPreLinkEventTool"/>
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG" PreprocessorDefinitions="_DEBUG"
Culture="1033"/> Culture="1033"
/>
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool"/> Name="VCPreLinkEventTool"
/>
<Tool <Tool
Name="VCXMLDataGeneratorTool"/> Name="VCLinkerTool"
AdditionalDependencies="odbc32.lib odbccp32.lib"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=""
GenerateDebugInformation="true"
SubSystem="1"
/>
<Tool <Tool
Name="VCWebDeploymentTool"/> Name="VCALinkTool"
/>
<Tool <Tool
Name="VCManagedWrapperGeneratorTool"/> Name="VCManifestTool"
/>
<Tool <Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/> Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\DLL_Output\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\dlltest___Win32_Release/dlltest.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="1"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2"
OmitFramePointers="true"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
SuppressStartupBanner="true"
CallingConvention="2"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="odbc32.lib odbccp32.lib"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=""
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\DLL_Output\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
TypeLibraryName=".\dlltest___Win32_Debug/dlltest.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CRYPTOPP_DLL_ONLY"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
CallingConvention="2"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="odbc32.lib odbccp32.lib"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=""
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<File <File
RelativePath="dlltest.cpp"> RelativePath="dlltest.cpp"
>
<FileConfiguration <FileConfiguration
Name="Release|Win32"> Name="Release|Win32"
>
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="1" Optimization="1"
PreprocessorDefinitions=""/> PreprocessorDefinitions=""
/>
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Debug|Win32"> Name="Debug|Win32"
>
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
PreprocessorDefinitions="" PreprocessorDefinitions=""
BasicRuntimeChecks="3"/> BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="1"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
/>
</FileConfiguration> </FileConfiguration>
</File> </File>
</Files> </Files>

View File

@ -37,10 +37,6 @@ CRYPTOPP_DLL PowerUpSelfTestStatus CRYPTOPP_API GetPowerUpSelfTestStatus();
typedef PowerUpSelfTestStatus (CRYPTOPP_API * PGetPowerUpSelfTestStatus)(); typedef PowerUpSelfTestStatus (CRYPTOPP_API * PGetPowerUpSelfTestStatus)();
CRYPTOPP_DLL const byte * CRYPTOPP_API GetActualMacAndLocation(unsigned int &macSize, unsigned int &fileLocation);
typedef const byte * (CRYPTOPP_API * PGetActualMacAndLocation)(unsigned int &macSize, unsigned int &fileLocation);
CRYPTOPP_DLL MessageAuthenticationCode * CRYPTOPP_API NewIntegrityCheckingMAC(); CRYPTOPP_DLL MessageAuthenticationCode * CRYPTOPP_API NewIntegrityCheckingMAC();
CRYPTOPP_DLL bool CRYPTOPP_API IntegrityCheckModule(const char *moduleFilename, const byte *expectedModuleMac, SecByteBlock *pActualMac = NULL, unsigned long *pMacFileLocation = NULL); CRYPTOPP_DLL bool CRYPTOPP_API IntegrityCheckModule(const char *moduleFilename, const byte *expectedModuleMac, SecByteBlock *pActualMac = NULL, unsigned long *pMacFileLocation = NULL);
@ -56,6 +52,8 @@ void EncryptionPairwiseConsistencyTest(const PK_Encryptor &encryptor, const PK_D
void SignaturePairwiseConsistencyTest_FIPS_140_Only(const PK_Signer &signer, const PK_Verifier &verifier); void SignaturePairwiseConsistencyTest_FIPS_140_Only(const PK_Signer &signer, const PK_Verifier &verifier);
void EncryptionPairwiseConsistencyTest_FIPS_140_Only(const PK_Encryptor &encryptor, const PK_Decryptor &decryptor); void EncryptionPairwiseConsistencyTest_FIPS_140_Only(const PK_Encryptor &encryptor, const PK_Decryptor &decryptor);
#define CRYPTOPP_DUMMY_DLL_MAC "MAC_51f34b8db820ae8"
NAMESPACE_END NAMESPACE_END
#endif #endif

View File

@ -496,7 +496,9 @@ done:
#ifdef CRYPTOPP_WIN32_AVAILABLE #ifdef CRYPTOPP_WIN32_AVAILABLE
static const byte s_moduleMac[CryptoPP::HMAC<CryptoPP::SHA1>::DIGESTSIZE] = "reserved for mac"; // use a random dummy string here, to be searched/replaced later with the real MAC
static const byte s_moduleMac[CryptoPP::HMAC<CryptoPP::SHA1>::DIGESTSIZE] = CRYPTOPP_DUMMY_DLL_MAC;
CRYPTOPP_COMPILE_ASSERT(sizeof(s_moduleMac) == CryptoPP::SHA1::DIGESTSIZE);
static HMODULE s_hModule = NULL; static HMODULE s_hModule = NULL;
void DoDllPowerUpSelfTest() void DoDllPowerUpSelfTest()

View File

@ -166,45 +166,41 @@ int __cdecl main(int argc, char *argv[])
fs.TransferAllTo(mt); fs.TransferAllTo(mt);
cout << "Maurer Test Value: " << mt.GetTestValue() << endl; cout << "Maurer Test Value: " << mt.GetTestValue() << endl;
} }
#ifdef CRYPTOPP_WIN32_AVAILABLE
else if (command == "mac_dll") else if (command == "mac_dll")
{ {
HMODULE hModule = LoadLibrary(argv[2]); std::fstream dllFile(argv[2], ios::in | ios::out | ios::binary);
PGetPowerUpSelfTestStatus pGetPowerUpSelfTestStatus = (PGetPowerUpSelfTestStatus)GetProcAddress(hModule, "?GetPowerUpSelfTestStatus@CryptoPP@@YA?AW4PowerUpSelfTestStatus@1@XZ"); std::ifstream::pos_type fileEnd = dllFile.seekg(0, std::ios_base::end).tellg();
PGetActualMacAndLocation pGetActualMacAndLocation = (PGetActualMacAndLocation)GetProcAddress(hModule, if (fileEnd > 20*1000*1000) // sanity check on file size
sizeof(byte *)==4 ? "?GetActualMacAndLocation@CryptoPP@@YAPBEAAI0@Z" : "?GetActualMacAndLocation@CryptoPP@@YAPEBEAEAI0@Z");
PowerUpSelfTestStatus status = pGetPowerUpSelfTestStatus();
if (status == POWER_UP_SELF_TEST_PASSED)
{ {
cout << "Crypto++ DLL MAC is valid. Nothing to do.\n"; cerr << "Input file too large (more than 20 MB).\n";
return 0;
}
unsigned int macSize, macFileLocation;
const byte *pMac = pGetActualMacAndLocation(macSize, macFileLocation);
if (macFileLocation == 0)
{
cerr << "Could not find MAC location in Crypto++ DLL.\n";
return 1; return 1;
} }
else
unsigned int fileSize = (unsigned int)fileEnd;
SecByteBlock buf(fileSize);
dllFile.seekg(0, std::ios_base::beg);
dllFile.read((char *)buf.begin(), fileSize);
byte dummyMac[] = CRYPTOPP_DUMMY_DLL_MAC;
byte *found = std::search(buf.begin(), buf.end(), dummyMac+0, dummyMac+sizeof(dummyMac));
if (found == buf.end())
{ {
SecByteBlock mac(pMac, macSize); // copy MAC before freeing the DLL cerr << "MAC placeholder not found. Possibly the actual MAC was already placed.\n";
BOOL r = FreeLibrary(hModule);
cout << "Placing MAC in file " << argv[2] << ", location " << macFileLocation << ".\n";
std::ofstream dllFile(argv[2], ios::in | ios::out | ios::binary);
dllFile.seekp(macFileLocation);
dllFile.write((const char *)mac.data(), macSize);
if (!dllFile.good())
{
cerr << "Error writing file.\n";
return 1; return 1;
} }
unsigned int macPos = found-buf.begin();
member_ptr<MessageAuthenticationCode> pMac(NewIntegrityCheckingMAC());
pMac->Update(buf.begin(), macPos);
pMac->Update(buf.begin() + macPos + sizeof(dummyMac), fileSize - sizeof(dummyMac) - macPos);
assert(pMac->DigestSize() == sizeof(dummyMac));
pMac->Final(dummyMac);
cout << "Placing MAC in file " << argv[2] << ", location " << macPos << ".\n";
dllFile.seekg(macPos, std::ios_base::beg);
dllFile.write((char *)dummyMac, sizeof(dummyMac));
} }
}
#endif
else if (command == "m") else if (command == "m")
DigestFile(argv[2]); DigestFile(argv[2]);
else if (command == "tv") else if (command == "tv")