IOpcDigitalSignatureManager::ReplaceSignatureXml-Methode (msopc.h)
Ersetzt das vorhandene Signaturmarkup, das in einem angegebenen Signaturteil gespeichert ist.
Syntax
HRESULT ReplaceSignatureXml(
[in] IOpcPartUri *signaturePartName,
[in] const UINT8 *newSignatureXml,
[in] UINT32 count,
[out, retval] IOpcDigitalSignature **digitalSignature
);
Parameter
[in] signaturePartName
Ein IOpcPartUri-Schnittstellenzeiger , der den Teilenamen des Signaturteils darstellt, in dem das vorhandene Signaturmarkup gespeichert wird.
[in] newSignatureXml
Ein Puffer, der das Signaturmarkup enthält, das das vorhandene Markup ersetzt.
[in] count
Die Größe des newSignatureXml-Puffers .
[out, retval] digitalSignature
Ein Zeiger auf eine neue IOpcDigitalSignature-Schnittstelle , die die vom Signaturmarkup abgeleitete Signatur darstellt, die in newSignatureXml übergeben wird.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Mindestens einer der Parameter signaturePartName, newSignatureXml und digitalSignature ist NULL. |
|
Der newSignatureXml-Puffer enthält mehr als ein Reference-Element , das auf das Package Object-Element verweist, aber nur ein solcher Verweis ist zulässig. |
|
Der newSignatureXml-Puffer enthält mehr als ein SignatureProperty-Element mit demselben Id-Attribut . |
|
Im newSignatureXml-Puffer verweist ein Reference-Element auf ein Objekt, das sich außerhalb des Pakets befindet. Verweiselemente müssen auf Teile oder Objektelemente verweisen, die intern sind. |
|
Eine nicht unterstützte Kanonisierungsmethode wurde angefordert oder im puffer newSignatureXml verwendet. |
|
Im newSignatureXml-Puffer entspricht ein Transform-Element , das die Verwendung der Beziehungstransformation und der Auswahlkriterien für die Transformation angibt, nicht dem im OPC angegebenen Schema. |
|
Der puffer newSignatureXml enthält nicht das Signaturmarkup für genau eine Signatur. |
|
Die Größe des Puffers newSignatureXml ist 0, aber dieser Puffer muss eine Größe aufweisen, die größer als 0 ist. |
|
Im Puffer newSignatureXml folgt auf eine Beziehungstransformation keine Kanonisierungsmethode. auf die Beziehungstransformation muss eine Kanonisierungsmethode folgen. |
|
Im puffer newSignatureXml wurde kein Verweis auf das paketspezifische Object-Element gefunden. |
|
Das Signaturmarkup im newSignatureXml-Puffer gibt keinen Signaturmethodenalgorithmus an. |
|
Im puffer newSignatureXml wurde das SignatureProperties-Element nicht gefunden. |
|
Im puffer newSignatureXml wurde das untergeordnete SignatureProperty-Element des SignatureProperties-Elements nicht gefunden. |
|
Im newSignatureXml-Puffer ist das SignatureProperty-Element mit dem Id-Attributwert "idSignatureTime" nicht vorhanden oder nicht ordnungsgemäß erstellt. |
|
Im newSignatureXml-Puffer wird für ein Reference-Element mehr als eine Beziehungstransformation angegeben, aber nur eine Beziehungstransformation ist zulässig. |
|
Der URI-Attributwert eines Reference-Elements im newSignatureXml-Puffer enthält nicht den Inhaltstyp des Teils, auf das verwiesen wird. |
|
Im newSignatureXml-Puffer fehlt dem SignatureProperty-Element das erforderliche Target-Attribut . |
|
Ein Reference-Element , das sich im newSignatureXml-Puffer befindet, erfordert das URI-Attribut , aber das Attribut fehlt. |
|
Das Paket ist nicht signiert. daher kann das Signaturmarkup nicht ersetzt werden. |
|
Der angegebene Teil ist nicht vorhanden. |
Hinweise
Diese Methode überprüft nicht die Signatur, die vom neuen Signaturmarkup im newSignatureXml-Parameter abgeleitet ist.
Der Aufrufer muss bestätigen, dass das neue Signaturmarkup, das das vorhandene Signaturmarkup im angegebenen Signaturteil ersetzt, die Signatur nicht unterbricht.
Diese Methode ändert das vorhandene Signaturmarkup. Zertifikate und Beziehungen, die den angegebenen Signaturteil als Quelle aufweisen, werden beibehalten.
Threadsicherheit
Das Packen von Objekten ist nicht threadsicher.
Weitere Informationen finden Sie im Erste Schritte mit der Verpackungs-API.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | msopc.h |
Weitere Informationen
Übersicht über digitale Signaturen
Erste Schritte mit der Verpackungs-API
Übersichten
Programmierhandbuch zur Paketerstellungs-API
Verpacken von Schnittstellen für digitale Signaturen
Referenz