Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 系统dll(如kernel32.dll)的签名方式_Windows - Fatal编程技术网

Windows 系统dll(如kernel32.dll)的签名方式

Windows 系统dll(如kernel32.dll)的签名方式,windows,Windows,我对数字签名有疑问。 我知道,如果一个可执行文件或dll上有签名,当我右键单击该文件时,我将能够看到“数字签名”选项卡 但当我右键单击kernel32.dll时,它不会显示此选项卡(“数字签名”),但我知道此文件是由Microsoft签名的 此dll(kernel32.dll)有一些对WinVerifyTrust的引用,这些引用不在常规数字签名exe或dll中 有人能解释一下系统dll与常规dll的签名方式有多不同吗?什么是wintrust.dll文件 我对常规dll的签名如下: signtoo

我对数字签名有疑问。 我知道,如果一个可执行文件或dll上有签名,当我右键单击该文件时,我将能够看到“数字签名”选项卡

但当我右键单击
kernel32.dll
时,它不会显示此选项卡(“数字签名”),但我知道此文件是由Microsoft签名的

此dll(
kernel32.dll
)有一些对
WinVerifyTrust
的引用,这些引用不在常规数字签名exe或dll中

有人能解释一下系统dll与常规dll的签名方式有多不同吗?什么是
wintrust.dll
文件

我对常规dll的签名如下:

signtool sign /v /f  MySPC.pfx mydll.dll
但我确信系统dll不是以这种方式签名的。请帮助我理解这一点。

来自:

签署PE文件有两种不同的方式:向PE文件添加数字签名(嵌入式数字签名)或向安全目录文件(filetype.CAT)添加PE文件的哈希

当PE文件具有嵌入的数字签名时,文件的“属性”对话框将承载“数字签名”选项卡

但是,当通过安全目录文件对文件进行签名时,不会显示“数字签名”选项卡


关于wintrust.dll:它提供API来验证文件、签名或证书中的信任。e、 g.WinVerifyTrust API。

非常感谢您的解释。我正在下载WDK(Windows驱动程序工具包)以获取可签名工具,以便能够创建目录文件。让您知道结果。我最终可以创建自己的dll并在系统dll签名时对其进行签名。以下是步骤C:\WinDDK\7600.16385.1\bin\x86\MakeCat.exe-v test.cdf-- 创建目录文件。此目录文件包含test.dll signtool sign/v/f MySPC.pfx/t test.cat的哈希值-- 在目录文件上签名。signtool catdb/v/u test.cat-- 将此目录文件添加到系统的cat文件数据库中。现在,您需要复制存在其他dll(如kernel32.dll)的dll文件,并复制存在kernel32.lib的库。很高兴看到您的评论!!谢谢