SignedData.CoSign-Methode

[Die CoSign-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Verwenden Sie stattdessen die SignedCms-Klasse im Namespace System.Security.Cryptography.Pkcs.]

Die CoSign-Methode erstellt eine digitale Signatur für zuvor signierten Inhalt.

Syntax

SignedData.CoSign( _
  [ ByVal Signer ], _
  [ ByVal EncodingType ] _
)

Parameter

Signer [ in, optional]

Ein Verweis auf das Signer-Objekt des Signers der Daten. Das Signer-Objekt muss Zugriff auf den privaten Schlüssel des Zertifikats haben, das zum Signieren verwendet wird. Dieser Parameter kann NULL sein. Weitere Informationen finden Sie unter Hinweise.

EncodingType [ in, optional]

Ein Wert der CAPICOM _ ENCODING _ TYPE-Enumeration, der angibt, wie die signierten Daten codiert werden sollen. Der Standardwert ist CAPICOM _ ENCODE _ BASE64. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CAPICOM _ ENCODE _ ANY
Dieser Codierungstyp wird nur verwendet, wenn die Eingabedaten einen unbekannten Codierungstyp haben. Wenn dieser Wert verwendet wird, um den Codierungstyp der Ausgabe anzugeben, wird stattdessen CAPICOM _ ENCODE _ BASE64 verwendet. Eingeführt in CAPICOM 2.0.
_CAPICOM-CODIERUNG _ BASE64
Daten werden als Base64-codierte Zeichenfolge gespeichert.
CAPICOM _ ENCODE _ BINARY
Daten werden als reine binäre Sequenz gespeichert.

Rückgabewert

Diese Methode gibt eine Zeichenfolge zurück, die die codierten signierten Daten enthält.

Wenn diese Methode fehlschlägt, wird ein Fehler ausgelöst. Das Err-Objekt enthält zusätzliche Informationen zum Fehler.

Bemerkungen

Wichtig

Wenn diese Methode von einem Webskript aufgerufen wird, muss das Skript Ihren privaten Schlüssel verwenden, um eine digitale Signatur zu erstellen. Nicht vertrauenswürdigen Websites die Verwendung Ihres privaten Schlüssels zu erlauben, ist ein Sicherheitsrisiko. Ein Dialogfeld, in dem sie gefragt wird, ob die Website Ihren privaten Schlüssel verwenden kann, wird angezeigt, wenn diese Methode zum ersten Mal aufgerufen wird. Wenn Sie zulassen, dass das Skript Ihren privaten Schlüssel zum Erstellen einer digitalen Signatur verwendet und "Dieses Dialogfeld nicht mehr anzeigen" auswählt, wird das Dialogfeld nicht mehr für Skripts innerhalb dieser Domäne angezeigt, die Ihren privaten Schlüssel zum Erstellen einer digitalen Signatur verwenden. Skripts außerhalb dieser Domäne, die versuchen, Ihren privaten Schlüssel zum Erstellen einer digitalen Signatur zu verwenden, führen jedoch weiterhin dazu, dass dieses Dialogfeld angezeigt wird. Wenn Sie nicht zulassen, dass das Skript Ihren privaten Schlüssel verwendet und "Dieses Dialogfeld nicht mehr anzeigen" auswählt, wird Skripts innerhalb dieser Domäne automatisch die Möglichkeit verweigert, Ihren privaten Schlüssel zum Erstellen digitaler Signaturen zu verwenden.

Es ist nicht garantiert, dass sich Cosignierer in einer bestimmten Reihenfolge befinden.

Die folgenden Ergebnisse gelten für den Signer-Parameterwert:

  • Wenn der Signer-Parameter nicht NULL ist, verwendet diese Methode den privaten Schlüssel, auf den das zugeordnete Zertifikat verweist, um die Cosignatur zu verschlüsseln. Wenn der private Schlüssel, auf den das Zertifikat verweist, nicht verfügbar ist, schlägt die Methode fehl.
  • Wenn der Signer-Parameter NULL ist und genau ein Zertifikat im SPEICHER CURRENT USER MY enthalten ist, das Zugriff auf einen privaten Schlüssel hat, wird dieses Zertifikat zum Erstellen der _ Cosignatur verwendet.
  • Wenn der Signer-Parameter NULL ist, Einstellungen. Der EnablePromptForCertificateUI-Eigenschaftswert ist true, und es gibt mehrere Zertifikate im Speicher CURRENT USER MY mit einem verfügbaren privaten Schlüssel. Es wird ein Dialogfeld angezeigt, in dem der Benutzer auswählen kann, welches Zertifikat verwendet _ wird.
  • Wenn der Signer-Parameter NULL ist und die Einstellungen. Die EnablePromptForCertificateUI-Eigenschaft ist false, die Methode schlägt fehl.
  • Wenn der Signer-Parameter NULL ist und im SPEICHER CURRENT USER MY kein Zertifikat mit einem verfügbaren privaten Schlüssel vorhanden _ ist, schlägt die Methode fehl.

Requirements (Anforderungen)

Anforderung Wert
Verteilbare Komponente
CAPICOM 2.0 oder höher auf Windows Server 2003 und Windows XP
DLL
Capicom.dll

Weitere Informationen

Kryptografieobjekte

SignedData