数字证书验证器,RESTful Web服务API
用户手册
“X。509验证器”是一个基于rest的Web服务,可用于验证X.509证书和已签名的PDF文件,以及检查证书内容是否符合塞尔维亚共和国立法。
“X。RESTful Web服务由位于主机上的2个REST api组成:
http://signatureverifier.d-logic.com
脚本路径为:
REST API: x509-验证器
API版本:1.0
PEM文件被发送到这个API,其内容必须是版本3的X.509证书。在检查证书之后,API以JSON编码的字符串返回验证结果。
HTTP服务器请求
主机+路径:http://signatureverifier.d-logic.com/x509-verifier.php
方法:帖子
标题(必填):
内容类型:多部分/格式;边界= RANDOM_STRING_BOUNDARY
身体:
-RANDOM_STRING_BOUNDARY
附加:格式;name = "文件";文件名= " file_name.pem "
内容类型:应用程序/八进制
(FILE_BINARY_DATA)
-RANDOM_STRING_BOUNDARY
附加:格式;name = "查询"
(JSON_ENCODED_PARAMETERS)
-RANDOM_STRING_BOUNDARY -
{}结束
HTTP服务器请求的描述
RANDOM_STRING_BOUNDARY是一个字符串,它需要在每个新请求上具有不同的(如果可能的话)惟一值。例如,在JavaScript中,获取RANDOM_STRING_BOUNDARY的良好实践是:
var boundary = Math.random().toString().substr(2);
(FILE_BINARY_DATA)是所选' file_name '的二进制内容。pem文件。
(JSON_ENCODED_PARAMETERS)是JSON编码的参数,必须满足以下格式:
{
“操作”:“验证”,
“user_id”:123年,
“security_token”:“
}
良好的做法是这个JSON编码的字符串不包含空格字符,即在JavaScript中形成,例如,使用以下代码:
Var params, json;
Params ={操作:" verify ", user_id: 123, security_token: " "};
json = json .stringify(params);
参数:
“操作”:“验证”—目前只支持verify操作。
“user_id”:123- - - - - -numeric参数,integer类型,表示用户标识号(API 1.0版本中没有使用它,但它是必选项,为将来使用保留)。在API版本1.0中可以为0。
“security_token”:“-字符串,应该包含十六进制数字对,没有所谓的分隔符(它没有在API版本1.0中使用,但它是强制性的,为将来使用保留)。在API版本1.0中可以是空字符串。
无论如何,在JavaScript中,没有必要直接管理Content(即HTTP正文)。我们建议使用FormData类作为示例,您可以从git存储库下载以下URL:
/ / NFC-RFID-reader-SDK / signature_verifier_jc_example.git代码
还有一些例子说明了如何从PHP中使用cURL支持来向这些REST api发送请求:
/ / digital_signature_sdk / php_example.git代码
HTTP服务器响应
在X.509证书验证后,服务器将返回JSON编码字符串,其中(在API版本1.0中)包含2个参数:
{“状态”:“STATUS_STRING”,“味精”:“MESSAGE_STRING”}
对于无效的请求,服务器响应将是:
Http /1.1 200 ok
...
内容类型:application / json
{" status ": " Error: Error POST parameters. ", " msg ": " "}
如果验证为成功的, STATUS_STRING必须为:
“OK”
PDF文件被发送到这个API,其内容必须是经过签名的PDF文档。签名格式可以是“PKCS#7 -分离”或“CAdES等效”。在检查签名文件之后,API以JSON编码的字符串返回验证结果。 主机+路径:http://signatureverifier.d-logic.com/pdf-sgn-verifier.php RANDOM_STRING_BOUNDARY是一个字符串,它需要在每个新请求上具有不同的(如果可能的话)惟一值。例如,在JavaScript中,获取RANDOM_STRING_BOUNDARY的良好实践是: 良好的做法是这个JSON编码的字符串不包含空格字符,即在JavaScript中形成,例如,使用以下代码: 在验证PDF文件并包含签名后,服务器将返回JSON编码字符串,其中(在API版本1.0中)包含2个参数: 意思是对PDF文件进行验证,并包含签名完全完成但是,结果不成功。在本例中,MESSAGE_STRING始终包含应该显示的审查细节。在这种情况下,MESSAGE_STRING将包含一个有效格式化的记录,其中包含HTML格式标记,以及新行的HTML标记,因此该消息可以直接放置在任何HTML容器中(例如 本手册的附带部分还包括包含“谷歌Chrome”扩展“Restlet客户端”配置文件的JSON文件。这些文件是x509-verifier。Json和pdf- signn -验证器。分别包含REST api x509-verifier和pdf-sgn-verifier的配置文件。安装“Restlet客户端”“谷歌Chrome”扩展后即可使用。
而MESSAGE_STRING将包含一个有效格式化的记录,其中包含HTML格式标记,以及新行的HTML标记,因此该消息可以直接放置在任何HTML容器中(例如
任何STATUS_STRING不等于" OK "的响应都被视为检查,其结果为不成功的并且,在这种情况下,如果STATUS_STRING不同于“Error: wrong POST parameters.”, MESSAGE_STRING将包含应该显示的证书审查的详细信息。
REST API: pdf- signn -verifier
API版本:1.0
HTTP服务器请求
方法:帖子
标题(必填):
内容类型:多部分/格式;边界= RANDOM_STRING_BOUNDARY
身体:
-RANDOM_STRING_BOUNDARY
附加:格式;name = "文件";文件名= " file_name.pdf "
内容类型:应用程序/ pdf
(FILE_BINARY_DATA)
-RANDOM_STRING_BOUNDARY
附加:格式;name = "查询"
(JSON_ENCODED_PARAMETERS)
-RANDOM_STRING_BOUNDARY -
{}结束HTTP服务器请求的描述
var boundary = Math.random().toString().substr(2);
(FILE_BINARY_DATA)是所选“file_name.pdf”文件的二进制内容。
(JSON_ENCODED_PARAMETERS)是JSON编码的参数,必须满足以下格式:{
“操作”:“验证”,
“user_id”:123年,
“security_token”:“
}
Var params, json;
Params ={操作:" verify ", user_id: 123, security_token: " "};
json = json .stringify(params);
参数:
“操作”:“验证”—目前只支持verify操作。
“user_id”:123- - - - - -numeric参数,integer类型,表示用户标识号(API 1.0版本中没有使用它,但它是必选项,为将来使用保留)。在API版本1.0中可以为0。
“security_token”:“-字符串,应该包含十六进制数字对,没有所谓的分隔符(它没有在API版本1.0中使用,但它是强制性的,为将来使用保留)。在API版本1.0中可以是空字符串。
无论如何,在JavaScript中,没有必要直接管理Content(即HTTP正文)。我们建议使用FormData类作为示例,您可以从git存储库下载以下URL:
/ / NFC-RFID-reader-SDK / signature_verifier_jc_example.git代码
还有一些例子说明了如何从PHP中使用cURL支持来向这些REST api发送请求:
/ / digital_signature_sdk / php_example.git代码HTTP服务器响应
{“状态”:“STATUS_STRING”,“味精”:“MESSAGE_STRING”}
对于无效的请求,服务器响应将是:Http /1.1 200 ok
...
内容类型:application / json
{" status ": " Error: Error POST parameters. ", " msg ": " "}
如果验证为成功的, STATUS_STRING必须为:“PDF签名有效”
而MESSAGE_STRING将包含一个有效格式化的记录,其中包含HTML格式标记,以及新行的HTML标记,因此该消息可以直接放置在任何HTML容器中(例如
与x509-验证器API相反,这里我们有与“PDF签名有效”不同的STATUS_STRING响应不成功的但在这些情况下,MESSAGE_STRING不包含详细信息.这些情况是:
STATUS_STRING = "错误:PDF在签名后被更改! "
STATUS_STRING = "错误:PDF格式错误(在搜索签名数据时)"
STATUS_STRING = " PDF文件不包含数字签名"
STATUS_STRING = "错误:错误的PKCS#7格式(缺少“要签名的”数据)"
情况是这样的STATUS_STRING = "数字签名验证失败"
附录:“Restlet Client”-谷歌Chrome浏览器扩展导出文件:
“Restlet客户端”有一个已知的bug,它总是在配置文件加载时,将主体形式参数类型从“文件”更改为“文本”。解决方法是将更改后的类型切换回“File”,然后选择所需的文件。
评论截止。