Freigeben über


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 System.Security.Cryptography.Pkcs-Namespace .]

Die CoSign-Methode erstellt eine digitale Signatur für zuvor signierte Inhalte.

Syntax

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

Parameter

Signierer [in, optional]

Ein Verweis auf das Signerobjekt des Signierers der Daten. Das Signierer-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 über einen unbekannten Codierungstyp verfügen. Wenn dieser Wert verwendet wird, um den Codierungstyp der Ausgabe anzugeben, wird stattdessen CAPICOM_ENCODE_BASE64 verwendet. Eingeführt in CAPICOM 2.0.
CAPICOM_ENCODE_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 aus einem Webskript aufgerufen wird, muss das Skript Ihren privaten Schlüssel verwenden, um eine digitale Signatur zu erstellen. Das Zulassen, dass nicht vertrauenswürdige Websites Ihren privaten Schlüssel verwenden, ist ein Sicherheitsrisiko. Ein Dialogfeld, in dem 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 erneut anzeigen" auswählen, wird das Dialogfeld für kein Skript in dieser Domäne mehr angezeigt, das Ihren privaten Schlüssel zum Erstellen einer digitalen Signatur verwendet. Skripts außerhalb dieser Domäne, die versuchen, Ihren privaten Schlüssel zum Erstellen einer digitalen Signatur zu verwenden, führen jedoch dazu, dass dieses Dialogfeld weiterhin angezeigt wird. Wenn Sie nicht zulassen, dass das Skript Ihren privaten Schlüssel verwendet und "Dieses Dialogfeld nicht erneut anzeigen" auswählen, 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 cosigners in einer bestimmten Reihenfolge vorhanden sind.

Die folgenden Ergebnisse gelten für den Wert des Signierparameters :

  • 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-ParameterNULL ist und im CURRENT_USER MY-Speicher genau ein Zertifikat vorhanden ist, das Zugriff auf einen privaten Schlüssel hat, wird dieses Zertifikat verwendet, um die Cosignatur zu erstellen.
  • Wenn der Signer-ParameterNULL ist, der Wert der Settings.EnablePromptForCertificateUI-Eigenschaft true ist, und im CURRENT_USER MY-Speicher mehr als ein Zertifikat mit einem verfügbaren privaten Schlüssel vorhanden ist, wird ein Dialogfeld angezeigt, in dem der Benutzer auswählen kann, welches Zertifikat verwendet wird.
  • Wenn der Signer-ParameterNULL und die Settings.EnablePromptForCertificateUI-Eigenschaft false ist, schlägt die Methode fehl.
  • Wenn der Parameter SignerNULL ist und kein Zertifikat im CURRENT_USER MY-Speicher mit einem verfügbaren privaten Schlüssel vorhanden ist, schlägt die Methode fehl.

Anforderungen

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

Siehe auch

Kryptografieobjekte

SignedData