Aspose::Words::DigitalSignatures::CertificateHolder class
Содержание
[
Скрывать
]CertificateHolder class
Представляет держатель экземпляра X509Certificate2. Чтобы узнать больше, посетите статью документации Work with Digital Signatures.
class CertificateHolder : public System::Object
Методы
| Метод | Описание |
|---|---|
| static Create(const System::ArrayPtr<uint8_t>&, const System::SharedPtr<System::Security::SecureString>&) | Создаёт объект CertificateHolder используя массив байтов хранилища PKCS12 и его пароль. |
| static Create(const System::ArrayPtr<uint8_t>&, const System::String&) | Создаёт объект CertificateHolder используя массив байтов хранилища PKCS12 и его пароль. |
| static Create(const System::String&, const System::String&) | Создаёт объект CertificateHolder используя путь к хранилищу PKCS12 и его пароль. |
| static Create(const System::String&, const System::String&, const System::String&) | Создаёт объект CertificateHolder используя путь к хранилищу PKCS12, его пароль и псевдоним, с помощью которого будет найден закрытый ключ и сертификат. |
| get_Certificate() | Возвращает экземпляр X509Certificate2, который содержит закрытый и открытый ключи и цепочку сертификатов. |
| GetType() const override | |
| Is(const System::TypeInfo&) const override | |
| static Type() |
Примечания
CertificateHolder can be created by static factory methods only. It contains an instance of X509Certificate2 which is used to introduce private, public keys and certificate chains into the system. This class is applied in DigitalSignatureUtil and PdfDigitalSignatureDetails instead of obsolete methods with X509Certificate2 as parameters.
Примеры
Показывает, как цифрово подписывать документы.
// Создайте сертификат X.509 из хранилища PKCS#12, которое должно содержать закрытый ключ.
System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder> certificateHolder = Aspose::Words::DigitalSignatures::CertificateHolder::Create(get_MyDir() + u"morzal.pfx", u"aw");
// Создайте комментарий и дату, которые будут применены с нашей новой цифровой подписью.
auto signOptions = System::MakeObject<Aspose::Words::DigitalSignatures::SignOptions>();
signOptions->set_Comments(u"My comment");
signOptions->set_SignTime(System::DateTime::get_Now());
// Возьмите неподписанный документ из локальной файловой системы через файловый поток,
// затем создайте подписанную копию, определяемую именем файла выходного файлового потока.
{
System::SharedPtr<System::IO::Stream> streamIn = System::MakeObject<System::IO::FileStream>(get_MyDir() + u"Document.docx", System::IO::FileMode::Open);
{
System::SharedPtr<System::IO::Stream> streamOut = System::MakeObject<System::IO::FileStream>(get_ArtifactsDir() + u"DigitalSignatureUtil.SignDocument.docx", System::IO::FileMode::OpenOrCreate);
Aspose::Words::DigitalSignatures::DigitalSignatureUtil::Sign(streamIn, streamOut, certificateHolder, signOptions);
}
}
Показывает, как подписать зашифрованный файл документа.
// Создайте сертификат X.509 из хранилища PKCS#12, которое должно содержать закрытый ключ.
System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder> certificateHolder = Aspose::Words::DigitalSignatures::CertificateHolder::Create(get_MyDir() + u"morzal.pfx", u"aw");
// Создайте комментарий, дату и пароль расшифровки, которые будут применены с нашей новой цифровой подписью.
auto signOptions = System::MakeObject<Aspose::Words::DigitalSignatures::SignOptions>();
signOptions->set_Comments(u"Comment");
signOptions->set_SignTime(System::DateTime::get_Now());
signOptions->set_DecryptionPassword(u"docPassword");
// Установите локальное системное имя файла для неподписанного входного документа и имя файла вывода для его новой цифрово подписанной копии.
System::String inputFileName = get_MyDir() + u"Encrypted.docx";
System::String outputFileName = get_ArtifactsDir() + u"DigitalSignatureUtil.DecryptionPassword.docx";
Aspose::Words::DigitalSignatures::DigitalSignatureUtil::Sign(inputFileName, outputFileName, certificateHolder, signOptions);
См. также
- Namespace Aspose::Words::DigitalSignatures
- Library Aspose.Words for C++