Aspose::Words::DigitalSignatures::DigitalSignatureUtil класс
Содержание
[
Скрывать
]DigitalSignatureUtil class
Предоставляет методы для подписи документа. Чтобы узнать больше, посетите статью документации Work with Digital Signatures.
class DigitalSignatureUtil
Методы
| Метод | Описание |
|---|---|
| DigitalSignatureUtil() | |
| static LoadSignatures(const System::String&) | Загружает цифровые подписи из документа. |
| static LoadSignatures(const System::SharedPtr<System::IO::Stream>&) | Загружает цифровые подписи из документа, используя поток. |
| static LoadSignatures(std::basic_istream<CharType, Traits>&) | |
| static RemoveAllSignatures(const System::String&, const System::String&) | Удаляет все цифровые подписи из исходного файла и записывает неподписанный файл в целевой файл. Следующие форматы совместимы с удалением цифровой подписи: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott. |
| static RemoveAllSignatures(const System::SharedPtr<System::IO::Stream>&, const System::SharedPtr<System::IO::Stream>&) | Удаляет все цифровые подписи из документа в исходном потоке и записывает неподписанный документ в целевой поток. **Вывод будет записан в начало потока, и размер потока будет обновлен в соответствии с длиной содержимого.**Следующие форматы совместимы с удалением цифровой подписи: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott. |
| static RemoveAllSignatures(std::basic_istream<CharType, Traits>&, std::basic_ostream<CharType, Traits>&) | |
| static Sign(const System::SharedPtr<System::IO::Stream>&, const System::SharedPtr<System::IO::Stream>&, const System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>&, const System::SharedPtr<Aspose::Words::DigitalSignatures::SignOptions>&) | Подписывает исходный документ, используя указанные CertificateHolder и SignOptions с цифровой подписью и записывает подписанный документ в целевой поток. Поддерживаемые форматы: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott.Вывод будет записан в начало потока, и размер потока будет обновлен в соответствии с длиной содержимого. |
| static Sign(const System::String&, const System::String&, const System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>&, const System::SharedPtr<Aspose::Words::DigitalSignatures::SignOptions>&) | Подписывает исходный документ, используя указанные CertificateHolder и SignOptions с цифровой подписью и записывает подписанный документ в целевой файл. Поддерживаемые форматы: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott. |
| static Sign(const System::SharedPtr<System::IO::Stream>&, const System::SharedPtr<System::IO::Stream>&, const System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>&) | Подписывает исходный документ, используя указанный CertificateHolder с цифровой подписью и записывает подписанный документ в целевой поток. Поддерживаемые форматы: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott.Вывод будет записан в начало потока, и размер потока будет обновлен в соответствии с длиной содержимого. |
| static Sign(const System::String&, const System::String&, const System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>&) | Подписывает исходный документ, используя указанный CertificateHolder с цифровой подписью и записывает подписанный документ в целевой файл. Поддерживаемые форматы: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott. |
| static Sign(std::basic_istream<CharType, Traits>&, std::basic_ostream<CharType, Traits>&, System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>, System::SharedPtr<Aspose::Words::DigitalSignatures::SignOptions>) | |
| static Sign(std::basic_istream<CharType, Traits>&, std::basic_ostream<CharType, Traits>&, System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder>) |
Примечания
Поскольку цифровая подпись работает с содержимым файла, а не с объектной моделью Document, эти методы помещены в отдельный класс.
Поддерживаемые форматы: Doc, Dot, Docx, Dotx, Docm, Dotm, Odt, Ott.
Примеры
Показывает, как загрузить подписи из цифрово подписанного документа.
// Существует два способа загрузки коллекции цифровых подписей подписанного документа с использованием класса DigitalSignatureUtil.
// 1 - Загрузка документа из локальной файловой системы по имени файла:
System::SharedPtr<Aspose::Words::DigitalSignatures::DigitalSignatureCollection> digitalSignatures = Aspose::Words::DigitalSignatures::DigitalSignatureUtil::LoadSignatures(get_MyDir() + u"Digitally signed.docx");
// Если эта коллекция не пуста, то мы можем проверить, что документ цифрово подписан.
ASSERT_EQ(1, digitalSignatures->get_Count());
// 2 - Загрузка документа из FileStream:
{
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(get_MyDir() + u"Digitally signed.docx", System::IO::FileMode::Open);
digitalSignatures = Aspose::Words::DigitalSignatures::DigitalSignatureUtil::LoadSignatures(stream);
ASSERT_EQ(1, digitalSignatures->get_Count());
}
Показывает, как удалить цифровые подписи из цифрово подписанного документа.
// Существует два способа использования класса DigitalSignatureUtil для удаления цифровых подписей
// из подписанного документа, сохранив его неподписанную копию в другом месте локальной файловой системы.
// 1 - Определите расположения как подписанного документа, так и его неподписанной копии по строкам имён файлов:
Aspose::Words::DigitalSignatures::DigitalSignatureUtil::RemoveAllSignatures(get_MyDir() + u"Digitally signed.docx", get_ArtifactsDir() + u"DigitalSignatureUtil.LoadAndRemove.FromString.docx");
// 2 - Определите расположения как подписанного документа, так и его неподписанной копии по файловым потокам:
{
System::SharedPtr<System::IO::Stream> streamIn = System::MakeObject<System::IO::FileStream>(get_MyDir() + u"Digitally signed.docx", System::IO::FileMode::Open);
{
System::SharedPtr<System::IO::Stream> streamOut = System::MakeObject<System::IO::FileStream>(get_ArtifactsDir() + u"DigitalSignatureUtil.LoadAndRemove.FromStream.docx", System::IO::FileMode::Create);
Aspose::Words::DigitalSignatures::DigitalSignatureUtil::RemoveAllSignatures(streamIn, streamOut);
}
}
// Проверьте, что оба наших выходных документа не содержат цифровых подписей.
ASSERT_EQ(0, Aspose::Words::DigitalSignatures::DigitalSignatureUtil::LoadSignatures(get_ArtifactsDir() + u"DigitalSignatureUtil.LoadAndRemove.FromString.docx")->get_Count());
ASSERT_EQ(0, Aspose::Words::DigitalSignatures::DigitalSignatureUtil::LoadSignatures(get_ArtifactsDir() + u"DigitalSignatureUtil.LoadAndRemove.FromStream.docx")->get_Count());
См. также
- Namespace Aspose::Words::DigitalSignatures
- Library Aspose.Words for C++