6 #ifndef PDFTRON_H_CPPPDFDigitalSignatureField
7 #define PDFTRON_H_CPPPDFDigitalSignatureField
8 #include <C/PDF/TRN_DigitalSignatureField.h>
9 #include <C/PDF/TRN_VerificationResult.h>
21 namespace pdftron {
namespace PDF {
474 const bool in_make_mandatory =
true);
486 const UInt32 in_contents_size_to_reserve);
498 const UInt32 in_contents_size_to_reserve);
532 const std::vector<UChar>& in_digest,
533 const UString& in_pkcs12_keyfile_path,
534 const UString& in_keyfile_password,
535 const bool in_pades_mode,
555 const std::vector<UChar>& in_digest,
556 const std::vector<UChar>& in_pkcs12_buffer,
557 const UString& in_keyfile_password,
558 const bool in_pades_mode,
579 const UChar* in_digest,
580 const size_t in_digest_size,
581 const UString& in_pkcs12_keyfile_path,
582 const UString& in_keyfile_password,
583 const bool in_pades_mode,
605 const UChar* in_digest,
606 const size_t in_digest_size,
607 const UChar* in_pkcs12_buffer,
608 const size_t in_pkcs12_buffer_size,
609 const UString& in_keyfile_password,
610 const bool in_pades_mode,
652 const std::vector<UChar>& in_digest_buf,
653 const std::vector<UChar>& in_custom_signedattributes_buf = std::vector<UChar>());
672 const UChar* in_digest_buf,
673 const size_t in_digest_buf_size,
674 const UChar* in_custom_signedattributes_buf = NULL,
675 const size_t in_custom_signedattributes_buf_size = 0);
694 const std::vector<Crypto::X509Certificate>& in_chain_certs_list,
697 const std::vector<UChar>& in_signature_value_buf,
698 const std::vector<UChar>& in_signedattributes_buf);
720 const size_t in_chain_certs_list_size,
723 const UChar* in_signature_value_buf,
724 const size_t in_signature_value_buf_size,
725 const UChar* in_signedattributes_buf,
726 const size_t in_signedattributes_buf_size);
743 TRN_DigitalSignatureField m_impl;
748 #include <Impl/DigitalSignatureField.inl>
753 #endif //PDFTRON_H_CPPPDFDigitalSignatureField
DigitalSignatureField & operator=(const DigitalSignatureField &other)
bool HasCryptographicSignature() const
void CreateSigDictForCustomSigning(const UString &in_filter_name, const SubFilterType &in_subfilter_type, const UInt32 in_contents_size_to_reserve)
SDF::Obj GetSDFObj() const
void SetPreferredDigestAlgorithm(Crypto::DigestAlgorithm::Type in_digest_algorithm_type, const bool in_make_mandatory=true)
UString GetReason() const
void UseSubFilter(const SubFilterType in_subfilter_type, const bool in_make_mandatory=true)
DocumentPermissions GetDocumentPermissions() const
void CertifyOnNextSave(const UString &in_pkcs12_keyfile_path, const UString &in_password)
static std::vector< UChar > GenerateCMSSignature(const Crypto::X509Certificate &in_signer_cert, const std::vector< Crypto::X509Certificate > &in_chain_certs_list, const Crypto::ObjectIdentifier &in_digest_algorithm_oid, const Crypto::ObjectIdentifier &in_signature_algorithm_oid, const std::vector< UChar > &in_signature_value_buf, const std::vector< UChar > &in_signedattributes_buf)
size_t SignatureHandlerId
void SetFieldPermissions(const FieldPermissions in_action, const std::vector< UString > &in_field_names_list=std::vector< UString >())
static bool SetDigSigLogFilename(const UString &filename)
void TimestampOnNextSave(const TimestampingConfiguration &in_timestamping_config, const VerificationOptions &in_timestamp_response_verification_options)
UString GetContactInfo() const
static std::vector< UChar > SignDigest(const std::vector< UChar > &in_digest, const UString &in_pkcs12_keyfile_path, const UString &in_keyfile_password, const bool in_pades_mode, const Crypto::DigestAlgorithm::Type in_digest_algorithm_type)
void CreateSigDictForCustomCertification(const UString &in_filter_name, const SubFilterType &in_subfilter_type, const UInt32 in_contents_size_to_reserve)
void SetLocation(const UString &in_location)
std::vector< UString > GetLockedFields() const
bool EnableLTVOfflineVerification(const VerificationResult &in_verification_result) const
void SignOnNextSave(const UString &in_pkcs12_keyfile_path, const UString &in_password)
Crypto::X509Certificate GetSignerCertFromCMS() const
void CertifyOnNextSaveWithCustomHandler(const SDF::SignatureHandlerId in_signature_handler_id)
void SetSigDictTimeOfSigning(const PDF::Date &in_date)
VerificationResult Verify(const VerificationOptions &in_opts) const
UString GetSignatureName() const
bool IsCertification() const
void SetReason(const UString &in_reason)
UInt32 GetCertCount() const
Date GetSigningTime() const
void SetDocumentPermissions(DocumentPermissions in_perms)
std::vector< Common::ByteRange > GetByteRanges() const
TimestampingResult GenerateContentsWithEmbeddedTimestamp(const TimestampingConfiguration &in_timestamping_config, const VerificationOptions &in_timestamp_response_verification_options)
UString GetLocation() const
void SetContactInfo(const UString &in_contact_info)
static std::vector< UChar > GenerateESSSigningCertPAdESAttribute(const Crypto::X509Certificate &in_signer_cert, const Crypto::DigestAlgorithm::Type in_digest_algorithm_type)
std::vector< std::vector< Crypto::X509Certificate > > GetCertPathsFromCMS() const
static std::vector< UChar > GenerateCMSSignedAttributes(const std::vector< UChar > &in_digest_buf, const std::vector< UChar > &in_custom_signedattributes_buf=std::vector< UChar >())
void SignOnNextSaveWithCustomHandler(const SDF::SignatureHandlerId in_signature_handler_id)
DigitalSignatureField(const DigitalSignatureField &other)
std::vector< UChar > GetCert(UInt32 in_index) const
bool IsLockedByDigitalSignature() const
SubFilterType GetSubFilter() const
bool HasVisibleAppearance() const
std::vector< UChar > CalculateDigest(const Crypto::DigestAlgorithm::Type in_digest_algorithm_type=Crypto::DigestAlgorithm::e_SHA256) const