Browse Source

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.

pull/1/head
Adam Ierymenko 12 years ago
parent
commit
a0916b926f
  1. BIN
      ext/bin/tap-windows/x64/WdfCoinstaller01011.dll
  2. BIN
      ext/bin/tap-windows/x64/zttap200.cat
  3. 79
      ext/bin/tap-windows/x64/zttap200.inf
  4. BIN
      ext/bin/tap-windows/x64/zttap200.sys
  5. 84
      windows/TapDriver Package/TapDriver Package.vcxproj
  6. 57
      windows/TapDriver/TapDriver.vcxproj
  7. BIN
      windows/TapDriver/testcert.pfx

BIN
ext/bin/tap-windows/x64/WdfCoinstaller01011.dll

Binary file not shown.

BIN
ext/bin/tap-windows/x64/zttap200.cat

Binary file not shown.

79
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

BIN
ext/bin/tap-windows/x64/zttap200.sys

Binary file not shown.

84
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)'!=''" />

57
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" />

BIN
windows/TapDriver/testcert.pfx

Binary file not shown.
Loading…
Cancel
Save