diff options
author | Adam Ierymenko <adam.ierymenko@zerotier.com> | 2014-01-22 22:11:22 -0800 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@zerotier.com> | 2014-01-22 22:11:22 -0800 |
commit | a0916b926f3db36dccb3b2ce07eb6dd2e6b04909 (patch) | |
tree | 4d9914443cf243057809e1350a8d37538da79d74 | |
parent | 2da6a7570b1bdbb99da9662c7e66c3028f342a5d (diff) | |
download | infinitytier-a0916b926f3db36dccb3b2ce07eb6dd2e6b04909.tar.gz infinitytier-a0916b926f3db36dccb3b2ce07eb6dd2e6b04909.zip |
Finally got the Windows x64 driver signed correctly. Turns out signtool.exe with the older (NDIS5) version of the Windows DDK does not understand cross-certificates, yet it blithely continues on and signs incorrectly anyway. Got it working by using DigiCert's own certificate tool which includes a sign files operation. Must be done manually but this doesn't have to be done often. F@!K.
-rw-r--r-- | ext/bin/tap-windows/x64/WdfCoinstaller01011.dll | bin | 0 -> 1795952 bytes | |||
-rw-r--r-- | ext/bin/tap-windows/x64/zttap200.cat | bin | 0 -> 10549 bytes | |||
-rw-r--r-- | ext/bin/tap-windows/x64/zttap200.inf | 79 | ||||
-rw-r--r-- | ext/bin/tap-windows/x64/zttap200.sys | bin | 0 -> 31384 bytes | |||
-rw-r--r-- | windows/TapDriver Package/TapDriver Package.vcxproj | 84 | ||||
-rw-r--r-- | windows/TapDriver/TapDriver.vcxproj | 57 | ||||
-rw-r--r-- | windows/TapDriver/testcert.pfx | bin | 2651 -> 0 bytes |
7 files changed, 208 insertions, 12 deletions
diff --git a/ext/bin/tap-windows/x64/WdfCoinstaller01011.dll b/ext/bin/tap-windows/x64/WdfCoinstaller01011.dll Binary files differnew file mode 100644 index 00000000..d49d2913 --- /dev/null +++ b/ext/bin/tap-windows/x64/WdfCoinstaller01011.dll diff --git a/ext/bin/tap-windows/x64/zttap200.cat b/ext/bin/tap-windows/x64/zttap200.cat Binary files differnew file mode 100644 index 00000000..211ffff3 --- /dev/null +++ b/ext/bin/tap-windows/x64/zttap200.cat diff --git a/ext/bin/tap-windows/x64/zttap200.inf b/ext/bin/tap-windows/x64/zttap200.inf new file mode 100644 index 00000000..9dd9c406 --- /dev/null +++ b/ext/bin/tap-windows/x64/zttap200.inf @@ -0,0 +1,79 @@ +[Version] +Signature="$WINDOWS NT$" +Class=Net +ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318} +Provider=%Provider% +CatalogFile=zttap200.cat +DriverVer=01/22/2014,22.4.22.918 + +[Strings] +DeviceDescription = "ZeroTier One Virtual Network Port" +Provider = "ZeroTier Networks LLC" + +; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back! +[Manufacturer] +%Provider%=zttap200,NTamd64 + +[zttap200] +%DeviceDescription%=zttap200.ndi,zttap200 + +[ztTap200.NTamd64] +%DeviceDescription%=zttap200.ndi,zttap200 + +[zttap200.ndi] +CopyFiles = zttap200.driver,zttap200.files +AddReg = zttap200.reg +AddReg = zttap200.params.reg +Characteristics = 0x81 + +[zttap200.ndi.Services] +AddService = zttap200, 2, zttap200.service + +[zttap200.reg] +HKR, Ndi, Service, 0, "zttap200" +HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" +HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" +HKR, , Manufacturer, 0, "%Provider%" +HKR, , ProductName, 0, "%DeviceDescription%" + +[zttap200.params.reg] +HKR, Ndi\params\MTU, ParamDesc, 0, "MTU" +HKR, Ndi\params\MTU, Type, 0, "int" +HKR, Ndi\params\MTU, Default, 0, "2800" +HKR, Ndi\params\MTU, Optional, 0, "0" +HKR, Ndi\params\MTU, Min, 0, "100" +HKR, Ndi\params\MTU, Max, 0, "2800" +HKR, Ndi\params\MTU, Step, 0, "1" +HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status" +HKR, Ndi\params\MediaStatus, Type, 0, "enum" +HKR, Ndi\params\MediaStatus, Default, 0, "0" +HKR, Ndi\params\MediaStatus, Optional, 0, "0" +HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled" +HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected" +HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address" +HKR, Ndi\params\MAC, Type, 0, "edit" +HKR, Ndi\params\MAC, Optional, 0, "1" + +[zttap200.service] +DisplayName = %DeviceDescription% +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +LoadOrderGroup = NDIS +ServiceBinary = %12%\zttap200.sys + +[SourceDisksNames] +1 = %DeviceDescription%, zttap200.sys + +[SourceDisksFiles] +zttap200.sys = 1 + +[DestinationDirs] +zttap200.files = 11 +zttap200.driver = 12 + +[zttap200.files] +; + +[zttap200.driver] +zttap200.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK diff --git a/ext/bin/tap-windows/x64/zttap200.sys b/ext/bin/tap-windows/x64/zttap200.sys Binary files differnew file mode 100644 index 00000000..b17cbce7 --- /dev/null +++ b/ext/bin/tap-windows/x64/zttap200.sys diff --git a/windows/TapDriver Package/TapDriver Package.vcxproj b/windows/TapDriver Package/TapDriver Package.vcxproj index 3f0d1df0..86d2505a 100644 --- a/windows/TapDriver Package/TapDriver Package.vcxproj +++ b/windows/TapDriver Package/TapDriver Package.vcxproj @@ -127,6 +127,8 @@ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup> <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor> @@ -145,42 +147,122 @@ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <DiagnosticMode>true</DiagnosticMode> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Debug|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> <OutDir>$(SolutionDir)\Build\TapDriverPackage\$(Platform)\$(Configuration)\</OutDir> + <EnableInf2cat>true</EnableInf2cat> </PropertyGroup> - <ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> + <DriverSign> + <FileDigestAlgorithm>SHA1</FileDigestAlgorithm> + </DriverSign> + <Inf2Cat> + <WindowsVersionList>8_X64;Server8_X64;Server2008R2_X64;7_X64;Server2008_X64;Vista_X64;Server2003_X64;XP_X64</WindowsVersionList> + </Inf2Cat> + <Inf2Cat> + <Verbose>true</Verbose> + </Inf2Cat> </ItemDefinitionGroup> <ItemGroup> <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> diff --git a/windows/TapDriver/TapDriver.vcxproj b/windows/TapDriver/TapDriver.vcxproj index ec1d9c45..79d9c773 100644 --- a/windows/TapDriver/TapDriver.vcxproj +++ b/windows/TapDriver/TapDriver.vcxproj @@ -163,35 +163,46 @@ <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'"> - <TargetName>ztTap100</TargetName> + <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> + <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>ztTap100</TargetName> + <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> + <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'"> <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>ztTap100</TargetName> + <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> + <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>ztTap100</TargetName> + <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> + <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>ztTap100</TargetName> + <TargetName>zttap200</TargetName> <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir> - <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer> + <TimeStampServer> + </TimeStampServer> + <DiagnosticMode>true</DiagnosticMode> </PropertyGroup> <ItemDefinitionGroup> <ClCompile> @@ -265,6 +276,30 @@ <Link> <AdditionalDependencies Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">C:\WinDDK\7600.16385.1\lib\wnet\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\wnet\amd64\ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> + <DriverSign> + <FileDigestAlgorithm Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">SHA1</FileDigestAlgorithm> + <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">/t "http://timestamp.digicert.com/" /d "ZeroTier One Virtual Network Port" /sha1 5809bb3255b4f32dd93619c1cf26a7df6c282a89</AdditionalOptions> + </DriverSign> </ItemDefinitionGroup> <ItemGroup> <Inf Include="zttap200.inf" /> diff --git a/windows/TapDriver/testcert.pfx b/windows/TapDriver/testcert.pfx Binary files differdeleted file mode 100644 index 74f6b471..00000000 --- a/windows/TapDriver/testcert.pfx +++ /dev/null |