// Set the storage which should be used by the default UriBinding // Must be set before StartMission(). //sODFVersion indicates the ODF version
XMLSECURITY_DLLPUBLIC void SetStorage( const css::uno::Reference < css::embed::XStorage >& rxStorage, std::u16string_view sODFVersion, const css::uno::Reference<css::io::XStream>& xScriptStream = css::uno::Reference<css::io::XStream>() );
// Argument for the Link is a uno::Reference< xml::sax::XAttributeList >* // Return 1 to verify, 0 to skip. // Default handler will verify all. void SetStartVerifySignatureHdl( const Link<LinkParamNone*,bool>& rLink );
// After signing/verifying, get information about signatures
SignatureInformation GetSignatureInformation( sal_Int32 nSecurityId ) const;
SignatureInformations GetSignatureInformations() const; /// ImplVerifySignature calls this to figure out which X509Data is the /// signing certificate and update the internal state with the result. /// @return /// A sequence with the signing certificate at the back on success. /// An empty sequence on failure.
std::vector<css::uno::Reference<css::security::XCertificate>>
CheckAndUpdateSignatureInformation(
css::uno::Reference<css::xml::crypto::XSecurityEnvironment> const& xSecEnv,
SignatureInformation const& rInfo);
// See XSecController for documentation void StartMission(const css::uno::Reference<css::xml::crypto::XXMLSecurityContext>& xSecurityContext); void EndMission();
sal_Int32 GetNewSecurityId(); /** sets data that describes the certificate.
// MT: ??? I think only for adding/removing, not for new signatures... // MM: Yes, but if you want to insert a new signature into an existing signature file, those function // will be very useful, see Mission 3 in the new "multisigdemo" program :-)
css::uno::Reference< css::xml::sax::XWriter> CreateDocumentHandlerWithHeader( const css::uno::Reference< css::io::XOutputStream >& xOutputStream ); staticvoid CloseDocumentHandler( const css::uno::Reference< css::xml::sax::XDocumentHandler>& xDocumentHandler ); staticvoid ExportSignature( const css::uno::Reference< css::xml::sax::XDocumentHandler >& xDocumentHandler, const SignatureInformation& signatureInfo, bool bXAdESCompliantIfODF );
/// Read and verify OOXML signatures. bool ReadAndVerifySignatureStorage(const css::uno::Reference<css::embed::XStorage>& xStorage, bool bCacheLastSignature = true); /// Read and verify a single OOXML signature. bool ReadAndVerifySignatureStorageStream(const css::uno::Reference<css::io::XInputStream>& xInputStream); /// Adds or removes an OOXML digital signature relation to _rels/.rels if there wasn't any before. void EnsureSignaturesRelation(const css::uno::Reference<css::embed::XStorage>& xStorage, bool bAdd); /// Given that xStorage is an OOXML _xmlsignatures storage, create origin.sigs and its relations. void ExportSignatureRelations(const css::uno::Reference<css::embed::XStorage>& xStorage, int nSignatureCount); /// Given that xSignatureStorage is an OOXML _xmlsignatures storage, create and write a new signature. void CreateAndWriteOOXMLSignature(const css::uno::Reference<css::embed::XStorage>& xRootStorage, const css::uno::Reference<css::embed::XStorage>& xSignatureStorage, int nSignatureIndex); /// Similar to CreateAndWriteOOXMLSignature(), but used to write the signature to the persistent storage, not the temporary one. void ExportOOXMLSignature(const css::uno::Reference<css::embed::XStorage>& xRootStorage, const css::uno::Reference<css::embed::XStorage>& xSignatureStorage, const SignatureInformation& rInformation, int nSignatureIndex); /// Given that xStorage is an OOXML root storage, advertise signatures in its [Content_Types].xml stream. void ExportSignatureContentTypes(const css::uno::Reference<css::embed::XStorage>& xStorage, int nSignatureCount);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.