Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings class

DigitalSignatureTimestampSettings class

Contains settings of the digital signature timestamp.

class DigitalSignatureTimestampSettings : public System::Object

Methods

MethodDescription
DigitalSignatureTimestampSettings()Initializes a new instance of DigitalSignatureTimestampSettings class.
DigitalSignatureTimestampSettings(const System::String&, const System::String&, const System::String&)Initializes a new instance of DigitalSignatureTimestampSettings class.
DigitalSignatureTimestampSettings(const System::String&, const System::String&, const System::String&, System::TimeSpan)Initializes a new instance of DigitalSignatureTimestampSettings class.
get_Password() constGets or sets a string value representing timestamp server password. The default value is null.
get_ServerUrl() constGets or sets a string value representing timestamp server URL. The default value is null.
get_Timeout() constGets or sets a time-out value for accessing timestamp server. The default value is 100 seconds.
get_UserName() constGets or sets a string value representing timestamp server user name. The default value is null.
GetType() const override
Is(const System::TypeInfo&) const override
set_Password(const System::String&)Setter for Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings::get_Password.
set_ServerUrl(const System::String&)Setter for Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings::get_ServerUrl.
set_Timeout(System::TimeSpan)Setter for Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings::get_Timeout.
set_UserName(const System::String&)Setter for Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings::get_UserName.
static Type()

Examples

Shows how to sign a document with timestamping using DigitalSignatureUtil.

auto signOptions = System::MakeObject<Aspose::Words::DigitalSignatures::SignOptions>();
signOptions->set_XmlDsigLevel(XmlDsigLevel::XAdEsT);
signOptions->set_TimestampSettings(System::MakeObject<Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings>(u"https://freetsa.org/tsr", u"JohnDoe", u"MyPassword"));

System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder> cert = CertificateHolder::Create(get_MyDir() + u"morzal.pfx", u"aw");

DigitalSignatureUtil::Sign(get_MyDir() + u"Digitally signed.docx", get_ArtifactsDir() + u"DigitalSignatureUtil.Timestamped.docx", cert, signOptions);

auto signedDoc = System::MakeObject<Aspose::Words::Document>(System::String(get_ArtifactsDir() + u"DigitalSignatureUtil.Timestamped.docx"));

ASSERT_EQ(1, signedDoc->get_DigitalSignatures()->get_Count());
ASSERT_TRUE(signedDoc->get_DigitalSignatures()->idx_get(0)->get_IsValid());

// Verify timestamp settings are applied.
ASSERT_EQ(u"https://freetsa.org/tsr", signOptions->get_TimestampSettings()->get_ServerUrl());
ASSERT_EQ(u"JohnDoe", signOptions->get_TimestampSettings()->get_UserName());
ASSERT_EQ(u"MyPassword", signOptions->get_TimestampSettings()->get_Password());
ASPOSE_ASSERT_EQ(100.0, signOptions->get_TimestampSettings()->get_Timeout().get_TotalSeconds());

// Test with custom timeout.
signOptions->set_TimestampSettings(System::MakeObject<Aspose::Words::DigitalSignatures::DigitalSignatureTimestampSettings>(u"https://freetsa.org/tsr", u"JohnDoe", u"MyPassword", System::TimeSpan::FromMinutes(30)));

ASPOSE_ASSERT_EQ(1800.0, signOptions->get_TimestampSettings()->get_Timeout().get_TotalSeconds());

See Also