这是 cdigidoc 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
cdigidoc - 读取、数字签名、验证 XAdES 格式的文件并加密、解密文件
XMLENC 格式
概要
目录 [ -在 ] [ 退房手续 ] [ -config
]
商品描述
目录 是一个实用程序,它为 CDigiDoc 库提供命令行界面,
这是 C 编程语言中的库,提供创建的功能
支持的 DigiDoc 格式的文件,使用智能卡或
其他支持的加密令牌,为数字添加时间标记和有效性确认
使用 OCSP 协议进行签名,验证数字签名,并进行数字加密和
解密 DigiDoc 文件。 也可以使用 cdigidoc 实用程序作为 CGI 程序
在无法轻松使用 JDigiDoc 库的环境中创建的 Web 应用程序或
调用 DigiDocService 网络服务以获得数字签名功能。
有关完整文档,请参阅
https://svn.eesti.ee/projektid/idkaart_public/branches/3.6/libdigidoc/doc/SK-CDD-PRG-GUIDE.pdf
XAdES 格式
http://www.w3.org/TR/XAdES
XML-ENC 格式
http://www.w3.org/TR/xmlenc-core
配置
-?, -帮助
显示有关命令语法的帮助。
-在
指定输入文件名。 建议传递文件的完整路径
在这个参数中。
-出去
将新创建或修改的文档存储在文件中。
-配置
指定 CDigiDoc 配置文件名。 如果未指定,则
从默认位置查找配置文件。
-检查证书
检查证书有效性状态。 用于检查所选证书的
有效性; 从证书的 CA 的 OCSP 响应者返回一个 OCSP 响应。 笔记
该命令当前未在测试中。 如果证书有效,则
返回码的 (RC) 值为 0。
-新 [格式] [版本]
使用指定的格式和版本创建一个新的 digidoc 容器。 目前
CDigiDoc 库中的 digidoc 格式为 DIGIDOC-XML,默认版本为 1.3(最新)。
通过在此命令中使用可选参数 - version -,您可以指定一个
要创建的替代版本。 注意:仅支持旧的 SK-XML 格式
为了向后兼容。
-添加[ ] [ ]
将新数据文件添加到 digidoc 文档。 如果 digidoc 不存在,则创建
一种采用默认格式。
输入文件(必填)
指定数据文件的名称(建议包含完整路径
在这个参数中; 写入 DigiDoc 容器时删除路径
文件)。
Mime 类型(必填)
表示原始文件的 MIME 类型,如“text/plain”或
“应用程序/msword”。
内容类型
反映原始文件是如何嵌入到容器中的
EMBEDDED_BASE64(默认使用)。 在以前的版本中 cdigidoc 允许
内容类型 EMBEDDED 以对纯 xml 或文本进行签名。
字符集
默认情况下支持并使用 UTF-8 编码。
-标志[[[清单] [[城市] [州] [zip] [国家]] [插槽(0)][操作系统(1)] [令牌-
类型(PKCS11)] [pkcs12-文件名]]
向 digidoc 文档添加数字签名。 您可以通过以下方式使用它
参数:
PIN码
对于爱沙尼亚身份证,PIN 码 2 用于数字签名。 如果
使用软件令牌(PKCS#12 文件)签名,然后是 PKCS#12 的密码
应在此处输入文件。
舱单
签名者的角色或决议
city 创建签名的城市
state 创建签名的州或省
创建签名的地方的邮政编码
国家
出生国家。 使用 ISO 3166 类型的 2 字符国家/地区代码(例如
电子工程)
slot 签名者的私钥在智能卡上的插槽的标识符。 操作时
例如,使用一张爱沙尼亚身份证,可以找到其签名密钥
在插槽 1 - 默认情况下使用。 图书馆做了一些假设
关于 PKCS#11 驱动程序和卡布局:
- 您在卡上有签名和/或身份验证密钥
- 密钥和证书都在一个插槽中
- 如果您有许多密钥,例如 1 个签名和 1 个身份验证密钥,那么它们
在不同的插槽中
- 您可以使用具有相应证书的签名密钥进行签名
“NonRepudiation”位设置。 您可能需要指定一个不同的插槽
用于例如在同一个智能卡上操作多个智能卡时
系统。 如果签名时需要指定槽位,则5
之前的可选参数(清单、城市、州、邮编、国家)应该是
首先填充(使用适当的数据或作为“”表示没有值)。
ocsp 指定是否将 OCSP 确认添加到签名中
正在创建。 可能的值为 0 - 不添加确认; 1 -
添加确认。 默认情况下,该值设置为 1。 参数值 0
可以在创建技术签名时使用。 技术签名是
没有 OCSP 确认和时间戳值的签名。
令牌类型
指定要使用的签名令牌的类型。
- PKCS11 默认值。 使用智能卡或软件 pkcs11 令牌签名
- Windows 平台上的 CNG 使用 CSP/CNG 进行签名
- PKCS12 使用 PKCS#12 密钥容器进行签名,该容器必须输入到
下一个参数
pkcs12 文件名
用于签名的 PKCS#12 密钥容器文件的名称。
-中号[[ (EE)] [ (美东时间)] [ (测试)]
[ ] [ ]]
使用 Mobile-ID 和 DigiDocService 调用 ddoc 文件的移动签名。 移动的-
ID 是一种基于无线 PKI 的服务,用于提供移动身份验证和
数字签名,目前所有爱沙尼亚和一些立陶宛手机都支持
运营商。 Mobile-ID 用户获得一张带有私钥的特殊 SIM 卡。
要签名的散列通过 GSM 网络发送到手机,用户应
输入 PIN 码进行签名。 签名的结果通过空中发送回。
DigiDocService 是一个基于 SOAP 的 Web 服务,对该服务的访问是基于 IP 的,并且
需要与 DigiDocService 提供商签订书面合同。 您可以使用移动 ID
使用以下参数签名:
电话号码
签名者的电话号码,国家代码格式为+xxxx(用于
例如 +3706234566)
每个代码
签名人的身份证号码(个人国民身份证号码)。
国家
出生国家。 使用 ISO 3166 类型的 2 字符国家/地区代码(例如
默认为 EE)
lang 手机用户对话的语言。 3 个字符的首字母缩略词
使用(例如默认为 EST)
服务
服务名称 - 之前与应用程序提供商达成一致,并且
DigiDocService 运营商。 最大长度 – 20 个字符。 (例如默认是
测试)
舱单
签名者的角色或决议
city 创建签名的城市
state 创建签名的州或省
创建签名的地方的邮政编码
-list 显示刚刚读入的DigiDoc文档的数据文件和签名信息;
验证所有签名。
返回 Digidoc 容器数据,格式为:SignedDoc | |
所有数据文件的列表,格式为:DataFile | | |
| |
所有签名的列表(如果存在),格式为:签名 |
标识符> | |
|
签名者的证书信息。
OCSP 响应者证书信息
-核实
返回签名验证结果(如果签名存在):
签名 | |
个人密码> | |
返回签名者的证书和 OCSP Responder 证书信息。
-提炼
从 DigiDoc 容器中提取选定的数据文件并将其存储在文件中。
数据文件id表示要从内部提取的数据文件的ID
DigiDoc 容器(例如 D0、D1...)。 输出文件表示输出的名称
文件中。
-denc-list
显示刚刚阅读的加密文档的加密数据和收件人信息
英寸
-encrecv [收件人] [KeyName] [CarriedKeyName]
将新的收件人证书和其他元数据添加到加密文档。
证书文件(必需)指定从中获取公钥组件的文件
获取用于加密数据。 解密只能通过使用
对应于该证书的私钥。 输入证书文件
加密必须来自文件系统(支持 PEM 编码)。 可能的
可以从其中获取证书文件的来源包括:Windows
证书存储(“其他人”)、LDAP 目录、智能卡中的 ID 卡
读者。 例如,爱沙尼亚身份证持有人的证书文件可以是
从位于 ldap://ldap.sk.ee 的 LDAP 目录中检索。 查询可以在
以下格式通过网络浏览器(IE):
ldap://ldap.sk.ee:389/c=EE??sub?(serialNumber= x) 其中序列号是
收件人的个人识别号码,例如 38307240240)。 其他参数
包括:
接受者
如果未指定,则程序将分配的 CN 值
证书作为第一个参数传递。 这稍后用作命令
行选项,以识别其密钥和智能卡用于
解密数据。 注意:虽然这个参数是可选的,但它是
建议从接收者的证书传递整个 CN 值
作为此处的收件人标识符,尤其是在处理多个
收件人。
键名
子元素可以添加,以便更好地识别关键对象。
可选,但可用于搜索正确的收件人密钥或显示
它在应用程序中的数据。
携带键名
子元素可以添加,以便更好地识别关键对象。
可选,但可用于搜索正确的收件人密钥或显示
它在应用程序中的数据。
-加密-sk
加密来自给定输入文件的数据并写入完成的加密
文件中的文档。 推荐用于提供与其他 DigiDoc 的交叉可用性
软件组件。 此命令将要加密的数据文件放在一个新的
DigiDoc 容器。 因此,稍后与其他人一起处理此类加密文档
完全支持 DigiDoc 应用程序(例如 DigiDoc3 客户端)。 输入文件
(必需)指定要加密的原始数据文件。 注:还有
但是不推荐用于提供的替代加密命令
与其他 DigiDoc 软件组件的交叉可用性:
-加密
加密来自给定输入文件的数据并写入完成的
文件中的加密文档。 应该只用于加密小
文档,已经是 DIGIDOC-XML 格式。 输入文件(必填)指定
要加密的原始数据文件。
-加密文件
加密输入文件并写入输出文件。 应该只用于
加密已经是 DIGIDOC-XML 格式的大型文档。 请注意,
命令在当前未测试。 输入文件(必需)指定
要加密的原始数据文件。 输出文件(必需)指定
将在当前加密中创建的输出文件的名称
文档格式(ENCDOC-XML ver 1.0),文件扩展名为 .cdoc。
-解密-sk [pkcs12-文件] [插槽(0)]
解密并可能解压缩刚刚读入和写入的加密文件
输出文件。 期望加密文件位于 DigiDoc 容器内。 输入
file(必需)指定输入文件的名称。 引脚(必需)代表
收件人的 pin1(在爱沙尼亚身份证的情况下)。 pkcs12 文件(可选)
如果使用软件令牌完成解密,则指定 PKCS#12 文件。 投币口
默认为包含爱沙尼亚 ID 卡身份验证密钥对的插槽 0。 这个
参数可用于使用附加到第二张身份证的密钥进行解密
计算机等注意:还有用于解密的替代命令,具体取决于
关于加密文件的格式、大小和用于解密的证书类型
它。
-解密 [pkcs12-文件] [插槽(0)]
提供与 -decrypt-sk 相同的功能,应该用于解密
小文件(不需要在 DigiDoc 容器内)。 输入
file(必需)指定输入文件的名称。 引脚(必填)代表
收件人的 pin1(在爱沙尼亚身份证的情况下)。 pkcs12 文件
(可选)如果解密是用软件完成的,则指定 PKCS#12 文件
令牌。 插槽默认为包含爱沙尼亚身份证验证的插槽 0
密钥对。 此参数可用于使用来自第二个 id 的密钥进行解密
卡连接到计算机等。
-解密文件 [pkcs12-文件]
提供与 -decrypt 相同的功能来解密文档,应该是
用于解密大文件(不需要在 DigiDoc 中)
容器)。 期望加密数据不被压缩。 请注意,
命令当前未测试。 输入文件(必需)指定
要解密的加密文件。 输出文件(必需)指定输出
文档名称。 Pin(必需)代表接收者的 pin1(在
爱沙尼亚身份证)。 pkcs12-file(可选)指定 PKCS#12 文件,如果
解密是使用软件令牌完成的。
-calc-sign [ ] [ ]
提供在 CGI 程序中使用的 -sign 命令的替代方法。 添加签名者
pem 格式的证书和可选的清单和签名者地址和
计算要签名的最终哈希值。 这个值是十六进制编码的,现在可以
发送到用户计算机以使用 Web 插件进行签名。 此命令创建一个
缺少实际 RSA 签名值的不完整签名。 必须保存
在临时文件中,稍后使用 -add-sign-value 命令完成。 -IP
"-add-sign-value " 提供了 -sign 的替代方案
在 CGI 程序中使用的命令。 将 RSA 签名十六进制编码值添加到
使用 -calc-sign 命令创建的不完整签名。 这个签名还在
缺少 ocsp 时间标记,现在可以使用 -get-confirmation 获得
命令生成完整的 XAdES 签名。
-得到确认
向 DigiDoc 文件的签名添加 OCSP 确认。
示例
cdigidoc -new DIGIDOC-XML 1.3 -add -标志-出去
创建一个 DIGIDOC-XML 1.3 格式的新签名文档,添加一个输入文件,签名
使用默认签名槽的智能卡并写入签名文档
文件中。
cdigidoc -in -列表
读入签名文档,验证签名并将结果打印到控制台。
cdigidoc -in - 提取 D0
读入已签名的文档,找到第一个已签名的文档并将其写入输出
文件中。
cdigidoc -encrecv -encrecv -加密-sk
-出去
通过加密使用加密的输入文件创建一个新的加密文件
AES-128 并使用 RSA 对生成的随机传输密钥进行两种可能的加密
由其证书标识的收件人。 传输密钥使用加密
RSA1.5。
cdigidoc -decrypt-sk -出去
读入加密文件并使用智能卡的第一个密钥对(爱沙尼亚 ID
卡身份验证密钥)并将解密的数据写入给定的 putput 文件。
cdigidoc -decrypt-sk -出去
读入加密文件并使用 PKCS#12 密钥容器对其进行解密并写入
解密数据到给定的putput文件。
作者
AS 服务业者 (认证 中心 有限公司)
使用 onworks.net 服务在线使用 cdigidoc