Конечная точка Decryption
и Encryption
Конечные точки Decryption
и Encryption
предназначены для шифрования и расшифрования документов,
а также создания операций расшифрования с подтверждением (v2 API).
Операции шифрования не могут быть выполнены с подтверждением, так как не требуют доступа к закрытому ключу пользователя.
Методы данной конечной точки позволяют выполнять операции над множеством документов, содержимое которых загружается из Сервиса Обработки Документов.
Документы для обработки могут быть переданы как в теле запроса (BinaryData -> Content
), так и по ссылке (BinaryData -> RefId
).
В поле RefId
передается идентификатор документа загруженного в Сервис Обработки Документов.
Поиск подходящих сертификатов для расшифрования
Метод предназначен для поиска сертификатов Пользователя, подходящих для расшифрования переданного документа.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/parse |
Параметры | Объект ParseOperation, содержащий результаты операции зашифрования. |
Возвращаемое значение | Объект ParceInfo, содержащий сведения о созданной операции. |
Пример запроса
POST /SignServer/rest/api/v2/parse HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"BinaryData": [{
"RefId" : "1fbef03d-a2fe-43b9-a0d7-9b237142b15a"
}],
"Type":"XML"
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": null,
"Result": {
"ParsedDocuments": [
{
"CertificateIds": [
2
],
"Content": null,
"OriginalRefId": "1fbef03d-a2fe-43b9-a0d7-9b237142b15a",
"Status": null,
"Error": null,
"ErrorDescription": null
}
]
},
"Status": "Completed",
"Error": null,
"ErrorDescription": null,
"ExpirationDate": 0
}
}
Выполнение операции зашифрования
Метод предназначен для выполнения операции зашифрования документа.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/encryption |
Параметры | Объект EncryptionOperation, содержащий результаты операции зашифрования. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Пример запроса
POST /SignServer/rest/api/v2/encryption HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"BinaryData": [{
"RefId" : "cc9938c9-b55e-460d-81c1-f40459259b7d"
}],
"Encryption":
{
"Type":"XML",
"Certificates":[
"MIIG0/...",
"MIIG0...",
"MIIG..." ]
}
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": null,
"Result": {
"ProcessedDocuments": [
{
"RefId": "1fbef03d-a2fe-43b9-a0d7-9b237142b15a",
"OriginalRefId": "cc9938c9-b55e-460d-81c1-f40459259b7d",
"Content": null,
"Status": "Completed",
"Error": null,
"ErrorDescription": null
}
]
},
"Status": "Completed",
"Error": null,
"ErrorDescription": null,
"ExpirationDate": 0
}
}
Создание операции расшифрования
Метод предназначен для создания операции расшифрования документов.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/decryption |
Параметры | Объект DecryptionOperation, содержащий сведения об операции расшифрования. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Если операция расшифрования требует подтверждения, то поле Status
будет содержать
значение Created
, иначе Completed
.
Пример запроса
POST /SignServer/rest/api/v2/decryption HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"BinaryData": [{"RefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa"}],
"Decryption" :
{
"Type": "CMS",
"CertificateId": "0"
},
"DocumentInfo":"Расшифрование документа"
}
Примеры ответов
Операция требует подтверждения.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",,
"Status": "Created"
}
}
Операция не требует подтверждения, результат расшифрования возвращен в ответе.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",
"Result": {
"ProcessedDocuments": [
{
"RefId": "257c1cbb-6494-45ee-9a00-d55a63e5b703",
"OriginalRefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa",
"Status": "Completed"
}
]
},
"Status": "Completed"
}
}
Выполнение операции расшифрования
Метод предназначен для выполнения операции расшифрования документов после подтверждения.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/decryption |
Параметры | Объект DecryptionOperation, содержащий сведения об операции расшифрования. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Для выполнения подтвержденной операции запрос отправляется на ту же конечную точку, что и при создании операции.
В теле запроса в структуре DecryptionOperation
может быть заполнено только одно
поле PinCode
, если ПИН-код для доступа к ключу не требуется, то весь запрос
представляет собой пустой JSON-объект.
Примеры запросов
Без передачи ПИН-кода для доступа к закрытому ключу сертификата.
POST /SignServer/rest/api/v2/decryption HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{}
C передачей ПИН-кода для доступа к закрытому ключу сертификата.
POST /SignServer/rest/api/v2/decryption HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"Signature" :
{
"PinCode" : "1234567890"
}
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",
"Result": {
"ProcessedDocuments": [
{
"RefId": "257c1cbb-6494-45ee-9a00-d55a63e5b703",
"OriginalRefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa",
"Status": "Completed"
}
]
},
"Status": "Completed"
}
}