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.

This commit is contained in:
Adam Ierymenko 2014-01-22 22:11:22 -08:00
parent 2da6a7570b
commit a0916b926f
7 changed files with 208 additions and 12 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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

Binary file not shown.

View File

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

View File

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

Binary file not shown.