IOpcSignatureRelationshipReferenceSet::Create-Methode (msopc.h)
Erstellt einen IOpcSignatureRelationshipReference-Schnittstellenzeiger , der einen Verweis auf einen Beziehungsteil darstellt, und fügt dem Satz den neuen Schnittstellenzeiger hinzu. Alle oder eine Teilmenge der Beziehungen, die im Beziehungsteil gespeichert sind, auf den verwiesen werden soll, wird für die Signatur ausgewählt.
Syntax
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
Parameter
[in] sourceUri
Ein IOpcUri-Schnittstellenzeiger , der den Quell-URI der Beziehungen darstellt, die zum Signieren ausgewählt werden sollen.
[in] digestMethod
Die Digestmethode, die für die auszuwählenden Beziehungen verwendet werden soll. Um die Standard-Digestmethode zu verwenden, übergeben Sie NULL in diesem Parameter.
[in] relationshipSigningOption
Ein -Wert, der angibt, ob die für die Signatur ausgewählten Beziehungen alle oder eine Teilmenge der Beziehungen im Beziehungsteil enthalten, auf den verwiesen werden soll.
Informationen zu den Auswirkungen von relationshipSigningOption-Werten auf andere Parameter finden Sie unter Hinweise.
[in] selectorSet
Ein IOpcRelationshipSelectorSet-Schnittstellenzeiger , der verwendet werden kann, um eine Teilmenge der Beziehungen im Teil Beziehungen zu identifizieren, der für die Signatur ausgewählt werden soll.
Wenn relationshipSigningOption auf OPC_RELATIONSHIP_SIGN_PART festgelegt ist, ist selectorSetNULL.
Informationen zu selectorSet-Werten finden Sie unter Hinweise.
[in] transformMethod
Ein -Wert, der die Kanonisierungsmethode beschreibt, die auf das Beziehungsmarkup der ausgewählten Beziehungen angewendet werden soll.
Wenn relationshipSigningOptionOPC_RELATIONSHIP_SIGN_USING_SELECTORS festgelegt ist, wird der Wert von transformMethod ignoriert.
Weitere Informationen zu den Transformationsmethoden, die angewendet werden sollen, wenn relationshipSigningOption auf OPC_RELATIONSHIP_SIGN_USING_SELECTORS festgelegt ist, finden Sie unter Hinweise.
[out, retval] relationshipReference
Ein neuer IOpcSignatureRelationshipReference-Schnittstellenzeiger , der den Beziehungsteil darstellt, auf den verwiesen 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 | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der im parameter relationshipSigningOption übergebene Wert ist kein gültiger OPC_RELATIONSHIPS_SIGNING_OPTION Enumerationswert. |
|
Der im parameter transformMethod übergebene Wert ist kein gültiger OPC_CANONICALIZATION_METHOD Enumerationswert. |
|
Der sourceUri-Parameter ist NULL. |
|
Der SelectorSet-Parameter wird nicht NULL übergeben, während dem parameter relationshipSigningOption der Wert OPC_RELATIONSHIP_SIGN_PART übergeben wird. |
Hinweise
Diese Methode erstellt einen Verweis auf einen Beziehungsteil. Alle oder eine Teilmenge der Beziehungen, die in einem Beziehungsteil gespeichert sind, auf den verwiesen wird, kann signiert werden, wenn die Signatur generiert wird.
Um alle Beziehungen in einem Beziehungsteil zu signieren, rufen Sie diese Methode auf, wobei der parameterwert relationshipSigningOption auf OPC_RELATIONSHIP_SIGN_PART und der selectorSet-Parameterwert auf NULL festgelegt ist.
Um eine Teilmenge der Beziehungen in einem Beziehungsteil zu signieren, rufen Sie diese Methode auf, wobei der parameterwert relationshipSigningOption auf OPC_RELATIONSHIP_SIGN_USING_SELECTORS und der selectorSet-Parameterwert auf einen IOpcRelationshipSelectorSet-Schnittstellenzeiger festgelegt ist. Um einen IOpcRelationshipSelectorSet-Schnittstellenzeiger zu erstellen, rufen Sie die CreateRelationshipSelectorSet-Methode auf.
In der folgenden Tabelle sind die Parameterwerte zusammengefasst, die für diese Methode erforderlich sind, um einen Verweis zu erstellen, der angibt, ob alle Beziehungen oder eine Teilmenge der Beziehungen (die im Beziehungsteil gespeichert sind), auf den verwiesen werden soll, signiert werden soll.
BESCHREIBUNG | relationshipSigningOption Wert | selectorSet Wert |
---|---|---|
Signieren aller Beziehungen im Beziehungsteil | OPC_RELATIONSHIP_SIGN_PART | NULL |
Signieren einer Teilmenge der Beziehungen im Beziehungsteil | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | Ein IOpcRelationshipSelectorSet-Schnittstellenzeiger |
Wenn eine Teilmenge der Beziehungen signiert werden soll, wird die angegebene Transformationsmethode ignoriert. Wenn die Signatur generiert wird, wird stattdessen zuerst die Transformation für Beziehungen angewendet, und die zweite ist die OPC_CANONICALIZATION_C14N Kanonisierungsmethode.
Wenn ein IOpcSignatureRelationshipReference-Schnittstellenzeiger erstellt und dem Satz hinzugefügt wird, wird der Verweis, den er darstellt, beim Speichern des Pakets gespeichert.
Beziehungen, die nicht signiert werden, können entfernt, geändert oder dem Paket hinzugefügt werden, ohne dass die Signatur ungültig wird. Wenn eine Teilmenge der Beziehungen für die Signatur ausgewählt wurde und die Teilmenge geändert wird, wird die Signatur ungültig.
Threadsicherheit
Das Packen von Objekten ist nicht threadsicher.
Weitere Informationen finden Sie in der Erste Schritte mit der Paketerstellungs-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
Erste Schritte mit der Verpackungs-API
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
Übersichten
Programmierhandbuch zur Paketerstellungs-API
Verpacken von Schnittstellen für digitale Signaturen
Referenz