我正在寻找一份文档签名证书,根据Adobe的AATL签署PDF,但我注意到,例如,Digicert对Document Signing Certificate的收费明显不同于Code Signing Certificate。我们计划使用证书进行PDF的自动签名,因此我无法看到USB令牌(由文档签名证书提供)非常有用。考虑同一个CA:Digicert签署的证书/私钥对,以及AATL(因此它们的根证书是相同的吗?)使用代码签名证书就足以在Adobe读者上验证?
Digicert的客户支持说:
如果您通过自己的软件使用证书,那么就是代码 签名证书可能有效,因为它链接回受信任的证书 DigiCert root。我无法确认代码是否签名 签名将转换为PDF,但因为我们不正式 使用代码签名证书支持PDF签名。
如果有人有这方面的经验,我会很感激。
答案 0 :(得分:2)
这些代码签名证书很可能具有System.Runtime.InteropServices.ExternalException was unhandled
_HResult=-2147467259
_message=A generic error occurred in GDI+.
HResult=-2147467259
IsTransient=false
Message=A generic error occurred in GDI+.
Source=System.Drawing
ErrorCode=-2147467259
StackTrace:
at System.Drawing.Graphics.MeasureString(String text, Font font, SizeF layoutArea, StringFormat stringFormat)
at System.Drawing.Graphics.MeasureString(String text, Font font, Int32 width)
at System.Windows.Forms.ThreadExceptionDialog..ctor(Exception t)
at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Alpha_Strategy_Engine.Program.Main() in c:\Users\Jeffery\Documents\Visual Studio 2013\Projects\Alpha Strategy Engine\Program.cs:line 50
InnerException:
扩展名,其值为extKeyUsage (2 5 29 37)
,可能还有codeSigning (1 3 6 1 5 5 7 3 3)
,但没有允许其他用途的值。 (至少在我手边有代码签名证书就是这种情况。)
MSDN为扩展密钥用法扩展指定如果扩展名存在,则证书必须仅用于指定的目的之一。
因此,如果如上所述设置了相关证书中的扩展密钥用法,则使用此类代码签名证书签署非代码违反了X.509公钥基础结构证书的基本规范。
关于你的核心问题
有可能Adobe Reader拒绝使用代码签名证书生成的PDF签名,如果它现在还没有,那么在将来的版本中可能会很好。我们计划使用证书自动签署PDF ...使用代码签名证书是否足以在Adobe读者上验证?