Metodo SignedData.CoSign

[Il metodo CoSign è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Usare invece la classe SignedCms nello spazio dei nomi System.Security.Cryptography.Pkcs .]

Il metodo CoSign crea una firma digitale sul contenuto firmato in precedenza.

Sintassi

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

Parametri

Firmatario [in, facoltativo]

Riferimento all'oggetto Signer del firmatario dei dati. L'oggetto Signer deve avere accesso alla chiave privata del certificato utilizzato per firmare. Questo parametro può essere NULL; per altre informazioni, vedere Osservazioni.

EncodingType [in, facoltativo]

Valore dell'enumerazione CAPICOM_ENCODING_TYPE che indica come codificare i dati firmati. Il valore predefinito è CAPICOM_ENCODE_BASE64. Questo parametro può avere uno dei valori seguenti.

Valore Significato
CAPICOM_ENCODE_ANY
Questo tipo di codifica viene usato solo quando i dati di input hanno un tipo di codifica sconosciuto. Se questo valore viene usato per specificare il tipo di codifica dell'output, verrà usato CAPICOM_ENCODE_BASE64. Introdotta in CAPICOM 2.0.
CAPICOM_ENCODE_BASE64
I dati vengono salvati come stringa con codifica Base64.
CAPICOM_ENCODE_BINARY
I dati vengono salvati come sequenza binaria pura.

 

Valore restituito

Questo metodo restituisce una stringa contenente i dati con segno codificati.

Se questo metodo ha esito negativo, verrà generato un errore. L'oggetto Err conterrà informazioni aggiuntive sull'errore.

Commenti

Importante

Quando questo metodo viene chiamato da uno script Web, lo script deve usare la chiave privata per creare una firma digitale. Consentire ai siti Web non attendibili di usare la chiave privata è un rischio per la sicurezza. Finestra di dialogo che chiede se il sito Web può usare la chiave privata viene visualizzata quando questo metodo viene chiamato per la prima volta. Se si consente allo script di usare la chiave privata per creare una firma digitale e selezionare "Non visualizzare più questa finestra di dialogo", la finestra di dialogo non verrà più visualizzata per qualsiasi script all'interno di tale dominio che usa la chiave privata per creare una firma digitale. Tuttavia, gli script all'esterno del dominio che tentano di usare la chiave privata per creare una firma digitale causeranno la visualizzazione di questa finestra di dialogo. Se non si consente allo script di usare la chiave privata e si seleziona "Non visualizzare più questa finestra di dialogo", gli script all'interno di tale dominio verranno rifiutati automaticamente dalla possibilità di usare la chiave privata per creare firme digitali.

 

Non è garantito che i cosigner siano in un ordine particolare.

I risultati seguenti si applicano al valore del parametro Signer :

  • Se il parametro Signer non è NULL, questo metodo usa la chiave privata a cui punta il certificato associato per crittografare il cosìgnatura. Se la chiave privata a cui punta il certificato non è disponibile, il metodo ha esito negativo.
  • Se il parametro Signer è NULL ed è presente esattamente un certificato nell'archivio CURRENT_USER MY che ha accesso a una chiave privata, tale certificato viene usato per creare la cosìgnatura.
  • Se il parametro Signer è NULL, il Impostazioni. Il valore della proprietà EnablePromptForCertificateUI è true ed è presente più di un certificato nell'archivio my CURRENT_USER con una chiave privata disponibile, viene visualizzata una finestra di dialogo che consente all'utente di selezionare il certificato usato.
  • Se il parametro Signer è NULL e il Impostazioni. La proprietà EnablePromptForCertificateUI è false, il metodo ha esito negativo.
  • Se il parametro Signer è NULL e non è presente alcun certificato nell'archivio CURRENT_USER MY con una chiave privata disponibile, il metodo ha esito negativo.

Requisiti

Requisito Valore
Componente ridistribuibile
CAPICOM 2.0 o versione successiva in Windows Server 2003 e Windows XP
DLL
Capicom.dll

Vedi anche

Oggetti di crittografia

SignedData