如何在Go中读取文件属性[已关闭]

ncgqoxb0  于 2023-05-04  发布在  Go
关注(0)|答案(1)|浏览(102)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

4年前关闭。
Improve this question
我正在寻找一种方法来读取文件的属性,这样我就可以通过编程来验证文件是否来自某个特定的公司。我只想执行基本的检查,如“是否签名”和“谁签名”-当您右键单击文件并选择“数字签名”时可以获得的信息。我不能调用任何操作系统特定的工具(例如signtool --verify),并且理想情况下希望避免任何第三方库,因为我们在使用它们方面有一个超级严格的政策。
这将最初在使用GoLang的Windows上进行,并将用于验证一些签名的MSI文件。我想我可以加载一个操作系统的dll来帮助,但不确定什么人能够提供这些信息。如果有人能给我指出正确的方向,我应该采取,以解决这个问题,或提供一个简短的例子,类似的东西,这将是伟大的。

x8diyxa7

x8diyxa71#

听起来像是要调用WinVerifyTrustWinVerifyTrustEx或一些类似的功能。搜索golang WinVerifyTrust,似乎存在一些示例go代码,您可以参考这些代码来调用系统的wintrust.dll。假设您愿意编写只在Windows上工作的代码,这可能是我推荐的方向。
从更跨平台的Angular 来看,您可以转而寻找OpenSSL Package 器或实现。据报道,Windows PE数字签名是based on PKCS#7,OpenSSL应该能够通过足够的粘合代码来支持。

相关问题