Облачная подпись

Подписание облачной ЭП осуществляется в два этапа.

Во-первых, надо вызвать метод CloudSign и дождаться его успешного завершения периодически вызывая метод CloudSignResult.

В результате успешного завершения этого этапа, вы получите token (идентификатор операции с облачной ЭП), а на телефон пользователя будет отправлено SMS-сообщение с кодом подтверждения операции.

Во-вторых, надо вызывать метод CloudSignConfirm и передать в него полученный token и SMS-код. Затем, вызывая метод CloudSignConfirmResult, дождаться окончания операции и получить, либо подписи, либо код ошибки.

Ниже приведен пример кода на C#

//Загружаем данные на полку
var nameOnShelf1 = api.UploadFileToShelf(authToken, Encoding.UTF8.GetBytes("TEST document 1"));
var nameOnShelf2 = api.UploadFileToShelf(authToken, Encoding.UTF8.GetBytes("TEST document 2"));

//Подписание
var request = new CloudSignRequest {
    Files = {
        new CloudSignFile{ FileName = "File 1.txt", Content = new Content_v2{ NameOnShelf = nameOnShelf1 } },
        new CloudSignFile{ FileName = "File 2.txt", Content = new Content_v2{ NameOnShelf = nameOnShelf2 } },
    }
};
var aResult = api.CloudSign(authToken, request, cloudCertificateThumbprint);
var cloudSignResult = api.WaitCloudSignResult(authToken, aResult.TaskId);

//Запрашиваем у пользователя SMS-код подтверждения confirmationCode
//Подтверждаем операцию подписи
aResult = api.CloudSignConfirm(authToken, cloudSignResult.Token, confirmationCode);
var cloudSignConfirmResult = api.WaitCloudSignConfirmResult(authToken, aResult.TaskId);

//Получаем подписи
Assert.AreEqual(2, cloudSignConfirmResult.Signatures.Count);