我可以对 JScript (.js) 或 VBScript (.vbs) 文件进行数字签名吗?
Can I digitally sign JScript (.js) or VBScript (.vbs) files?
我知道可以使用 signtool 签署 Windows binary
可执行文件。所以一直以来我都假设不能签署任何由 Windows Script Host
解释的文件,例如 JScript (.js) 或 VBScript (.vbs),因为它们只是文本文件。
但是今天,当我打开从我的网站下载的 .js
文件时,我看到了这个警告:
这是否意味着有一种方法可以签署那些 .js
/.vbs
文件?如果是,那又如何?
Scripting.Signer
Object可以使用数字签名签署脚本。
Dim filespec : Set filespec = "my_script.vbs"
Dim cert : Set cert = "my" ' the default private certificate
Dim oSign : Set oSign = CreateObject("Scripting.Signer")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim file : Set file = fso.GetFile(filespec)
oSign.SignFile file.Path, cert
只是为了完成我原来的问题。答案是是。据我所知,可以使用 Microsoft 的 SignTool:
对以下文件进行签名
显然 Windows 可执行文件:.exe
、.dll
、.com
(对于旧 DOS 格式)、.scr
(对于屏幕保护程序), .ocx
(对于 ActiveX 控件),.cpl
(对于控制面板可执行文件。)
Windows 安装程序文件:.msi
、.msp
基于文本的脚本:.js
(对于 JScript),.vbs
(对于 VBScript),.jse
(对于编码的 JScript),.vbe
(对于编码的 VBScript)
PowerShell 脚本:.ps1
、.psm1
、.ps1xml
Windows Script Files: .wsf
(混合内容)
我知道可以使用 signtool 签署 Windows binary
可执行文件。所以一直以来我都假设不能签署任何由 Windows Script Host
解释的文件,例如 JScript (.js) 或 VBScript (.vbs),因为它们只是文本文件。
但是今天,当我打开从我的网站下载的 .js
文件时,我看到了这个警告:
这是否意味着有一种方法可以签署那些 .js
/.vbs
文件?如果是,那又如何?
Scripting.Signer
Object可以使用数字签名签署脚本。
Dim filespec : Set filespec = "my_script.vbs"
Dim cert : Set cert = "my" ' the default private certificate
Dim oSign : Set oSign = CreateObject("Scripting.Signer")
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim file : Set file = fso.GetFile(filespec)
oSign.SignFile file.Path, cert
只是为了完成我原来的问题。答案是是。据我所知,可以使用 Microsoft 的 SignTool:
对以下文件进行签名显然 Windows 可执行文件:
.exe
、.dll
、.com
(对于旧 DOS 格式)、.scr
(对于屏幕保护程序),.ocx
(对于 ActiveX 控件),.cpl
(对于控制面板可执行文件。)Windows 安装程序文件:
.msi
、.msp
基于文本的脚本:
.js
(对于 JScript),.vbs
(对于 VBScript),.jse
(对于编码的 JScript),.vbe
(对于编码的 VBScript)PowerShell 脚本:
.ps1
、.psm1
、.ps1xml
Windows Script Files:
.wsf
(混合内容)