签名ghostscript postscript打印驱动程序

时间:2013-10-22 14:23:14

标签: windows printing driver ghostscript postscript

我正在使用ghostscript(lib/ghostpdf.inf)附带的Windows postscript打印驱动程序从打印作业生成postscript文件。

但是,postscript驱动程序没有经过数字签名,因此Windows 8和Windows Server 2012不允许安装它而不启动到“允许未签名的驱动程序”-mode。

您知道是否有任何已签名的版本可用于最新的Windows版本?

如果不是这样的话,我自己很好地编译和签名,但是我无法在http://git.ghostscript.com/ghostpdl.git的git仓库中找到postscript打印驱动程序的源代码。 我可以监督它,因为我不熟悉构建驱动程序。

可以给我一个提示,我可以在哪里找到postscript驱动文件来自行编译吗?

编辑: .INF文件如何告诉Windows驱动程序二进制文件所在的位置?我查看了“ClassGUID”但是对于所有驱动程序都是一样的,注册表项对C:\Windows\System32\ntprint.dll说了些什么。我不认为这对问题很重要,是吗?

3 个答案:

答案 0 :(得分:4)

要签署“ghostscript驱动程序”,您只需签署Ghostscript附带的INF文件。

article on technet描述了执行此操作所需的步骤。

步骤如下:

1)创建/获取证书
2)确保您的计算机信任该证书(如果需要,将其放在您的证书库中)
3)下载并安装Windows Driver Kit (WDK)
4)将INF文件中的CatalogFile=oemprint.cat更改为ghostpdf.cat
5)将DriverVer=01/02/2007,1.0.0.1更改为DriverVer=01/01/2013,1.0.0.1(也许您需要其他日期,您将在下一步中看到)
6)使用Inf2Cat工具创建一个cat文件(对我来说是C:\Program Files (x86)\Windows Kits\8.0\bin\x86):

注意
使用cmd.exe而不是powershell,因为powershell始终会出现Parameter format not correct.错误

命令:

inf2cat.exe /driver:c:\path\to\folder\whereCatFileIsIn /os:7_X86,7_X64,8_X86,8_X64[,other OS you'd like to support]

7)使用signtool(与Inf2Cat工具相同的目录)对cat文件进行签名

命令:

SignTool.exe sign /f "C:Path\to\my.pfx" /t http://timestamp.verisign.com/scripts/timestamp.dll "C:\Path\To\ghostpdf.cat"

(有关可用参数的更多信息,请参阅signtool docs

答案 1 :(得分:0)

.inf文件不是驱动程序,它们只是带有一些安装程序信息的文本文件。没有签名版本,也不需要它,您可以使用任何PostScript驱动程序的输出与Ghostscript。

你无法编译.inf文件,因为没有什么可编译的,我不知道你如何在最新版本的Windows中签署这样的东西,但如果你想尝试一下,你可以使用文本编辑器打开.inf文件。

答案 2 :(得分:0)

问:您知道是否有任何签名版本可用于最新的Windows版本?

*解决方法* 答:对于我的Postscript驱动程序问题,我重新使用了已经签名的驱动程序来自免费软件PDF生成器PDFil Writer。 https://www.pdfill.com/freewriter.html

就我而言,我是Sybase Powerbuilder开发人员,我的应用程序依赖于Ghostscript Postscript驱动程序。

我希望这会有所帮助。