数字签名的JavaScript文件

时间:2014-12-30 13:43:52

标签: javascript code-signing

我遇到过一些(微软生成的)JavaScript文件,如下所示:

... SOME JAVASCRIPT CODE...

// SIG // Begin signature block
// SIG // MIIaVgYJKoZIhvcNAQcCoIIaRzCCGkMCAQExCzAJBgUr
...
// SIG // 2Ee3yfXCMiZKY8Yv2h0=
// SIG // End signature block

我的问题是这个数字签名的目的是什么?是的,我知道它是用某人的公钥签名的,它有助于识别文件的作者,是的,我知道它也确保没有人篡改过该文件,但浏览器用它做了什么?他们如何使用它?在JavaScript文件中使用它有什么好处(除了让你的文件看起来更大:)?

3 个答案:

答案 0 :(得分:2)

它看起来像一个签名的脚本,如here所述(WSH vbscript,但WSH也可以使用jscript)。我认为在浏览器上下文中它是毫无意义的。

答案 1 :(得分:1)

该脚本看起来可能已由微软SignTool签署,或类似的东西。

我可以想到两个用途。如上所述,其中之一是将其与Windows脚本主机或其他非浏览器引擎一起使用,该引擎在签名之前检查签名。第二种是通过在安装时和/或在服务器端定期检查签名来验证javascript文件的真实性。这将使管理员能够验证脚本是否未被篡改,并且即使在更新后,它们也来自受信任的供应商。

我想这对于入侵检测系统也会派上用场。

答案 2 :(得分:1)

Per @ Kooilnc' s link

  

数字签名(随WSH 5.6引入)为您提供了一种验证脚本编写者的方法,以及一种保证脚本在编写和签名后未被更改的方法。这并不一定意味着脚本是安全的;"毕竟,病毒编写者也可以获得数字签名。但是,数字签名确实提供了两种保护措施:

基本上,它就像下载的MD5哈希一样;它可以让您知道它来自您认为来自的来源,并且自提供它以来它没有被修改过。