IDocumentService.DecodeSignedDocument — метод (String, Document, SignedCms)

Расшифровывает сообщение CMS/PKCS 7, которое содержится в файле, расположенном по указанному пути.

Синтаксис

string DecodeSignedDocument(string filePath, Document document, out System.Security.Cryptography.Pkcs.SignedCms signedCms)
Параметры
filePath

Тип: System.String

Путь к файлу с криптографическим сообщением

document

Тип: Document

Документ, в который производится добавление содержимого сообщения. Если документ содержит основной файл с именем идентичным имени файла (без учета расширения .p7s) загружаемого сообщения, то содержимое основного файла будет загружено в сообщение

signedCms

Тип: SignedCms

Сообщение CMS/PKCS 7. Если не было проинициализировано, то будет выполнена инициализация

Возвращаемое значение

Тип: System.String

Расположение временного файла, содержащего расшифрованный объект

Примеры

Ниже приведён пример скрипта карточки, который запускает загрузку основного файла упакованного с подписью в криптографическое сообщение.

using System.Security.Cryptography.Pkcs;
using System.Windows.Forms;
using DocsVision.BackOffice.ObjectModel;
using DocsVision.BackOffice.ObjectModel.Services;
using DocsVision.Platform.ObjectModel;

namespace BackOffice
{
 public class CardDocumentПримерScript : CardDocumentДокументУДScript
 {
  private void importMainFile_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e)
  {
   Document document = (base.BaseObject as Document);
   ObjectContext objectContext = base.CardControl.ObjectContext;

   IDocumentService documentService = objectContext.GetService<IDocumentService>(); (1)

   OpenFileDialog openFileDialog = new OpenFileDialog();
   openFileDialog.Multiselect = false;
   openFileDialog.Filter = "Файлы p7s (*.p7s)|*.p7s";
   DialogResult result = openFileDialog.ShowDialog();
   if (result != DialogResult.OK) return;
   string fileName = openFileDialog.FileName; (2)

   SignedCms signedCms = null;

   string decodedFileName = documentService.DecodeSignedDocument(fileName, document, out signedCms); (3)

   documentService.AttachMainFile(document, decodedFileName, signedCms); (4)
  }
 }
}
1 Получение сервиса для работы с документами.
2 Организация выбора файла с криптографическим сообщением.
3 Расшифровка (распаковка) файла .p7s, сообщение CMS/PKCS 7 записывается в signedCms.
4 Загрузка основного файла и подписи к нему в документ.