eSigner DocSignTool 命令指南

文件签名工具 是一个安全的、面向隐私的多平台 Java 命令行实用程序,用于使用远程签名 PDF 文件 电子签名者 文件签名证书。文档的哈希值将发送到 SSL.com 进行签名,这样文档本身就不会被发送。当敏感文档需要签名但不应通过网络发送进行签名时,这是理想的选择。 DocSignTool 也是大批量签名或集成到现有文档工作流程的自动化批处理的理想选择。

如果您想使用演示帐户和证书尝试 DocSignTool,请阅读 eSigner 演示凭据和证书 获取凭据和配置信息。

如果您希望使用 esigner 来签署代码和可执行文件,请 请参阅此 CodeSignTool 指南.

使用密封文档签名证书进行签名时不需要 OTP 授权。如果使用密封文档签名证书,请忽略以下指南中的所有 OTP 参数。 (现有客户 组织验证文件签名证书 可以联系 support@ssl.com 将其转换为 eSealing 证书。)

DocSignTool 安装

要安装当前版本的 DocSignTool,只需为您的操作系统下载并解压缩正确的文件:

请注意,Windows 下载包括 Java 运行时,但 Linux/macOS 版本需要在您的计算机上安装 Java 运行时。 该命令的 Windows 版本是一个批处理文件 (DocSignTool.bat),而Linux / macOS版本是shell脚本(DocSignTool.sh).

DocSignTool 使用概述

用法: DocSignTool [-hV] [COMMAND] [PARAMETERS]

选项:

  • -h, --help:显示帮助消息并退出。
  • -V, --version:显示版本信息并退出。

命令:

  • get_credential_ids:输出与特定用户关联的电子签名者凭据 ID 列表。
  • credential_info:输出与凭证 ID 相关的密钥和证书信息。
  • sign:签名和时间戳 PDF filr。
  • batch_sign:使用一个 OTP 对多个 PDF 文件进行签名和时间戳。
  • hash:预先计算哈希值以备后用 batch_hash_sign 命令。
  • batch_sign_hash: 预先计算的签名哈希 hash 命令。

参数:

  • -access_token=<TOKEN>:OAuth 访问令牌.
  • -contact_info=<CONTACT_INFO>: 联系信息。
  • -credential_id=<CREDENTIAL_ID>:用于签署证书的凭据 ID。
  • -input_dir_path=<PATH>:要签名的 PDF 文件的输入目录,计算哈希值,或选择未签名的文件和相应的哈希值进行签名。
  • -input_file_path=<PATH>: 要签名的 PDF 文件的路径。
  • -otp=<OTP>:来自身份验证应用程序的 OAuth OTP 值。
  • -output_dir_path=<PATH>:将写入签名 PDF 文件的目录。
  • -page_no=<PAGE_NUMBER>:将出现可见签名的 PDF 文档页面。
  • -password=<PASSWORD>:SSL.com 帐户密码。
  • -sig_field_position=<X, Y, WIDTH, HEIGHT>:可见签名在 PDF 上的位置。
  • -signing_location=<SIGNING_LOCATION>: 签署文件的位置。
  • signing_reason=<SIGNING_REASON>: 签名的原因。
  • -totp_secret=<TOTP_SECRET>:OAuth TOTP秘密
  • -username=<USERNAME>: SSL.com 账户用户名
如果您的密码包含特殊字符,请用引号引起来(例如 -password="P!@^^ssword12").

DocSignTool 命令

获取凭据 ID

输出与特定用户关联的电子签名者凭据 ID 列表。 参数 -username-password 是必要的。

用法: DocSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>

示例:

DocSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41"
Credential ID(s):
- fe537ace-e132-52a9-c2e7-egcd2ac3f1e6

进入 DocSignTool get_credential_ids 如果没有必需的参数,将显示该命令的用法信息。

凭证信息

输出与凭证 ID 相关的密钥和证书信息。 参数 -credential_id, -username-password 是必要的。

用法: DocSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>

示例:

DocSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" 签名证书主题信息: - 主题 DN:CN=JOHN DOE、O=SSL Corp ,L=休斯顿,ST=德克萨斯州,C=美国 - 证书到期:11 年 14 月 52 日星期六 59:2023:2 EST XNUMX - 颁发者 DN:CN=SSL.com 客户端证书中间 CA RSA RXNUMX,O=SSL Corp,L=休斯顿, ST=德克萨斯州, C=美国

进入 DocSignTool credential_info 如果没有必需的参数,将显示该命令的用法信息。

签署

签名和时间戳 PDF 文件。 参数 -username, -password-input_file_path 是必要的。 -credential_id 只有拥有多个 eSigner 文档签名证书的用户才需要。 -output_dir_path, -signing_location, -signing-reason, -contact_info-sig_field_position, -page_no-totp_secret 是可选的。

用法: DocSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-signing_location=<SIGNING_LOCATION>] [-signing_reason=<SIGNING_REASON>] [-contact_info=<CONTACT_INFO>] [-sig_field_position=<X, Y, WIDTH, HEIGHT>][-page_no=<PAGE_NUMBER>] [-totp_secret=<TOTP_SECRET>]

可选参数:

  • If -credential_id 省略并且用户只有一个 eSigner 文档签名证书,DocSignTool 将默认为该证书。 如果用户拥有多个文档签名证书,则此参数是必需的。
  • If -output_dir_path 省略,在中指定的文件 -input_file_path 将被签名文件覆盖。 DocSignTool 将在覆盖文件之前提示用户。
  • If -signing_location 存在,指定的位置将被添加到数字签名中。
  • If -signing_reason 存在,指定的签名原因将被添加到数字签名中。
  • If -contact_info 存在,指定的文本将被添加到数字签名中。 尽管包含在签名中,但此信息不会包含在可见的签名注释(如果存在)中。
  • If -sig_field_position 存在,一个可见的签名注释将被添加到指定页面上的文档中 -page_no. 职位和签名应按以下格式提供 "x, y, width, height".
  • -page_no 仅在创建可见签名时才需要 -sig_field_position 并指定将出现可见签名注释的文档页面。
  • If -totp_secret 存在时,DocSignTool 将计算基于时间的 OTP 进行签名,从而允许自动使用该工具。 如果此参数不存在,系统将提示用户手动输入 OTP。
有关在 eSigner 中注册 EV 文档签名证书和设置两因素身份验证的信息,请阅读 使用eSigner进行远程EV代码签名。 有关TOTP机密值的信息,请参阅 自动执行eSigner EV代码签名.

例子:

带有可见签名的手动 OTP 输入:

DocSignTool 签名 -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.pdf -sig_field_position="100, 200, 150, 70" -page_no=1 -signing_location="Houston, Texas" -signing_reason="document approved" -contact_info="support@ssl.com" 输入 OTP - 按 Enter 继续:884646 PDF 签名成功:output\test.pdf

自动 OTP 生成,无可见签名:

DocSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.pdf -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8=
PDF signed successfully: output\test.pdf

进入 DocSignTool sign 如果没有必需的参数,将显示该命令的用法信息。

如果您收到错误消息, Error: invalid otp 尝试对文件进行签名时,可能是由以下一个或多个问题引起的:

  • 您扫描到身份验证应用程序中的QR码与命令中的用户名,密码和/或凭据ID不匹配。 如果发生以下情况,可能会发生这种情况:
    • 您在设备上为2FA配置了多个帐户,然后选择了错误的帐户。
    • 您正在尝试将登录凭据用于 共享证书,但扫描了队友从其帐户共享的QR码。
  • 您输入的OTP已过期。
  • 您的命令包含无效的TOTP机密。

批号

使用一个 OTP 对多达 100 个 PDF 文件进行签名和时间戳。 参数 -username, -password-input_dir_path 是必要的。 -credential_id 只有拥有多个 eSigner 文档签名证书的用户才需要。 -output_dir_path, -signing_location, -signing-reason, -contact_info-sig_field_position, -page_no-totp_secret 是可选的。

用法: DocSignTool [-hV] batch_sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-signing_location=<SIGNING_LOCATION>] [-signing_reason=<SIGNING_REASON>] [-contact_info=<CONTACT_INFO>] [-sig_field_position=<X, Y, WIDTH, HEIGHT>][-page_no=<PAGE_NUMBER>] [-totp_secret=<TOTP_SECRET>]

可选参数:

  • If -credential_id 省略并且用户只有一个 eSigner 文档签名证书,DocSignTool 将默认为该证书。 如果用户拥有多个文档签名证书,则此参数是必需的。
  • If -output_dir_path 被省略,指定的文件 -input_dir_path 将被签名文件覆盖。 DocSignTool 将在覆盖文件之前提示用户。
  • If -signing_location 存在,指定的位置将被添加到数字签名中。
  • If -signing_reason 存在,指定的签名原因将被添加到数字签名中。
  • If -contact_info 存在,指定的文本将被添加到数字签名中。 尽管包含在签名中,但此信息不会包含在可见的签名注释(如果存在)中。
  • If -sig_field_position 存在,一个可见的签名注释将被添加到指定页面上的文档中 -page_no. 职位和签名应按以下格式提供 "x, y, width, height".
  • -page_no 仅在创建可见签名时才需要 -sig_field_position 并指定将出现可见签名注释的文档页面。
  • If -totp_secret 存在时,DocSignTool 将计算基于时间的 OTP 进行签名,从而允许自动使用该工具。 如果此参数不存在,系统将提示用户手动输入 OTP。

示例:

DocSignTool batch_sign -username=john.doe@example.com -password="P0z9@lxo41" -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -sig_field_position="100, 200, 150, 70" -page_no=1 -signing_location="Houston, Texas" -signing_reason="document approved" -contact_info="support@ssl.com" 输入 OTP - 按 Enter 继续:455145 批量签名命令已成功执行。签名文件的输出目录:output

进入 DocSignTool batch_sign 如果没有必需的参数,将显示该命令的用法信息。

哈希

应使用 SHA 256 算法来计算 PDF 文档的哈希值。 

  1. 需要一个 PDF 库来操作 PDF 进行哈希输入,然后将 PKCS#7 嵌入到 PDF 文档中。 (例如 Java 中的 ApachePDFBox)。 
  2. 一个加密库,用于根据从 eSigner API(例如 Java 中的 BouncyCastle)收到的原始签名创建 PKCS#7。

预先计算哈希值供以后使用 batch_hash_sign 命令。 参数 -access_token-input_dir_path 是必要的。 -credential_id 只有拥有多个 eSigner 文档签名证书的用户才需要。 -signing_location, -signing-reason, -contact_info-sig_field_position-page_no, 是可选的。

用法: DocSignTool [-hV] hash -access_token=<ACCESS_TOKEN> -input_dir_path=<PATH> [-signing_location=<SIGNING_LOCATION>] [-signing_reason=<SIGNING_REASON>] [-contact_info=<CONTACT_INFO>] [-sig_field_position=<X, Y, WIDTH, HEIGHT>][-page_no=<PAGE_NUMBER>]

可选参数:

  • If -program_name MSI安装程序签名时出现,则该值将在确认对话框中显示为程序名称。
  • If -signing_location 存在时,指定的位置将在生成时添加到数字签名中。
  • If -signing_reason 存在时,指定的签名原因将在生成时添加到数字签名中。
  • If -contact_info 存在时,指定的文本将在生成时添加到数字签名中。 尽管包含在签名中,但此信息不会包含在可见的签名注释(如果存在)中。
  • If -sig_field_position 存在,一个可见的签名注释将被添加到指定页面上的文档中 -page_no 生成签名时。 职位和签名应按以下格式提供 "x, y, width, height".
  • -page_no 仅在创建可见签名时才需要 -sig_field_position 并指定生成可见签名注释时将出现在文档的页面。

示例:

DocSignTool hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU 0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9 hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82 4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9 qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9 -c2e7-egcd2ac3f1e6 -input_dir_path=input
Hash command executed successfully. Hash files created at: input

进入 DocSignTool hash 如果没有必需的参数,将显示该命令的用法信息。

批处理签名哈希

预先计算的签名哈希 hash 命令。 参数 -access_token, input_dir_path, -otpoutput_dir_path 是必要的。 -credential_id 只有拥有多个 eSigner 文档签名证书的用户才需要。

用法: DocSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>

可选参数:

  • If -credential_id 省略并且用户只有一个 eSigner 文档签名证书,DocSignTool 将默认为该证书。 如果用户拥有多个文档签名证书,则此参数是必需的。

示例:

DocSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU
0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW
I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9
hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI
UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82
4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9
qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9
-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392
Batch sign hash command executed successfully. Output directory for signed files: output

进入 DocSignTool batch_sign_hash 如果没有必需的参数,将显示该命令的用法信息。

如何在沙盒模式下测试DocSignTool

  1. 在 DocSignTool 版本中,转到 conf 文件夹并打开 doc_sign_tool.properties 文件
  2. 通过添加注释掉现有属性 # 每个属性之前的符号
  3. 在文件中添加以下属性:
  4. 保存文件。 保存后,DocSignTool现在可以在沙盒模式下使用。
  5. 要切换回生产模式,请取消注释现有属性并删除沙箱属性。

可选:将 OV 文档签名证书转换为密封证书

请注意: 此部分仅适用于想要进行密封的用户。为了自动进行文档签名并且不被一次性密码 (OTP) 提示,用户可以自行将其组织验证 (OV) 文档签名证书转换为其 SSL.com 帐户上的密封证书。说明如下:

  1. 点击 订单管理 在您的 SSL.com 帐户的顶部菜单上。 
  2. 找到您的证书并单击 下载/详细信息 链接。
  3. 点击 删除 2FA 按钮。
感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.
Twitter
Facebook
LinkedIn
Reddit
电子邮箱

保持信息灵通和安全

SSL.com 是网络安全领域的全球领导者, PKI 和数字证书。注册以接收最新的行业新闻、提示和产品公告 SSL.com.

我们希望收到您的反馈

参加我们的调查,让我们知道您对最近购买的想法。