IDocumentService.DecodeSignedDocument — метод (String, Document, SignedCms)
Расшифровывает сообщение CMS/PKCS 7, которое содержится в файле, расположенном по указанному пути.
-
Пространство имён:
DocsVision.BackOffice.ObjectModel.Services
-
Сборка:
DocsVision.BackOffice.ObjectModel.dll
Синтаксис
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 | Загрузка основного файла и подписи к нему в документ. |