Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo SignedCms.CheckSignature (Boolean)

 

Data di pubblicazione: novembre 2016

Il CheckSignature(Boolean) metodo consente di verificare le firme digitali nel messaggio CMS/PKCS #7 firmato e, facoltativamente, convalida i certificati del firmatario.

Spazio dei nomi:   System.Security.Cryptography.Pkcs
Assembly:  System.Security (in System.Security.dll)

public void CheckSignature(
	bool verifySignatureOnly
)

Parametri

verifySignatureOnly
Type: System.Boolean

Oggetto Boolean valore che specifica se vengono verificate solo le firme digitali senza i certificati del firmatario da convalidare.

Se verifySignatureOnly è true, vengono verificate solo le firme digitali. In questo caso false, vengono verificate le firme digitali, la convalida dei certificati del firmatario e gli scopi dei certificati. Gli scopi di un certificato sono considerati validi se il certificato non dispone di alcun utilizzo chiave o l'utilizzo della chiave supporta le firme digitali o non-ripudio.

Exception Condition
ArgumentNullException

È stato passato un riferimento null a un metodo che non lo accetta come argomento valido.

CryptographicException

Impossibile completare un'operazione di crittografia.

InvalidOperationException

Una chiamata al metodo non è valida per lo stato dell'oggetto corrente.

Questo metodo verifica tutte le firme, incluse le controfirme, nel messaggio CMS/PKCS #7. Se sono presenti attributi firmati inclusi nel messaggio, questi attributi vengono inoltre verificati. Se si sceglie l'opzione per convalidare i certificati, viene convalidato l'intera parte inclusa della catena di certificati.

Questo metodo genera un'eccezione se la verifica della firma digitale non riesce o se non vengono soddisfatti i requisiti di convalida.

Nell'esempio seguente viene illustrata la posizione di CheckSignature(Boolean) tra i passaggi necessari per verificare le firme in un SignedCms messaggio. In questo esempio, il contenuto del messaggio non viene disconnessa. Il contenuto del messaggio è incluso nel SignedCms messaggio.

// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms();

// encodedMessage is the encoded message received from 
// the sender.
signedCms.Decode(encodedMessage);

// Verify the signature without validating the 
// certificate.
signedCms.CheckSignature(true);

Nell'esempio seguente viene illustrata la posizione di CheckSignature(Boolean) tra i passaggi necessari per verificare le firme in un SignedCms messaggio. In questo esempio, il contenuto del messaggio è disconnesso, in modo che il contenuto del messaggio deve verificare in modo indipendente dal SignedCms messaggio.

// Create a ContentInfo object from the inner content obtained 
// independently from encodedMessage.
ContentInfo contentInfo = new ContentInfo(innerContent);

// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);

// encodedMessage is the encoded message received from 
// the sender.
signedCms.Decode(encodedMessage);

// Verify the signature without validating the 
// certificate.
signedCms.CheckSignature(true);

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: