Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Classe AsnEncodedData

Rappresenta il Abstract Syntax Notation One ((OID) - dati codificati.

Spazio dei nomi:  System.Security.Cryptography
Assembly:  System (in System.dll)
public class AsnEncodedData

Il tipo AsnEncodedData espone i seguenti membri.

  NomeDescrizione
Metodo protettoAsnEncodedData()Inizializza una nuova istanza di AsnEncodedData classe.
Metodo pubblicoAsnEncodedData(AsnEncodedData)Inizializza una nuova istanza di AsnEncodedData classe utilizzando un'istanza di AsnEncodedData classe.
Metodo pubblicoAsnEncodedData(Byte[])Inizializza una nuova istanza di AsnEncodedData classe utilizzando una matrice di byte.
Metodo pubblicoAsnEncodedData(Oid, Byte[])Inizializza una nuova istanza di AsnEncodedData classe utilizzando un oggetto Oid oggetto e una matrice di byte.
Metodo pubblicoAsnEncodedData(String, Byte[])Inizializza una nuova istanza di AsnEncodedData classe utilizzando una matrice di byte.
In alto
  NomeDescrizione
Proprietà pubblicaOidottiene o imposta Oid valore per AsnEncodedData oggetto.
Proprietà pubblicaRawDataOttiene o imposta il Abstract Syntax Notation One ((OID) - dati codificati rappresentati in una matrice di byte.
In alto
  NomeDescrizione
Metodo pubblicoCopyFromCopiare le informazioni da AsnEncodedData oggetto.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFormatRestituisce una versione formattata di Abstract Syntax Notation One ((OID) - dati codificati come stringa.
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetTypeOttiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseCloneConsente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

Il Abstract Syntax Notation One ((OID), definito nel requisito X.208 di CCITT, è un modo per specificare gli oggetti astratti che verranno propagati seriale. Il set di regole (OID per la rappresentazione di tali oggetti come stringhe un e di zeri viene chiamato le regole distinte di codifica (DER) e viene definito nel requisito lo X.509, la parte 8,7 di CCITT. Questi metodi di codifica sono attualmente utilizzate dallo spazio dei nomi di crittografia di .NET Framework.

Si noti che se un tipo di dati sconosciuto riscontrato durante l'accesso a un'istanza di questa classe, i dati sono restituiti come stringa esadecimale.

Nell'esempio di codice seguente viene illustrato come utilizzare AsnEncodedData classe.


using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

class AsnEncodedDataSample
{
	static void Main()
	{		
		//The following example demonstrates the usage the AsnEncodedData classes.
		// Asn encoded data is read from the extensions of an X509 certificate.
		try
		{
			// Open the certificate store.
			X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
			store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
			X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
			X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
			// Select one or more certificates to display extensions information.
			X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Certificate Select", "Select certificates from the following list to get extension information on that certificate", X509SelectionFlag.MultiSelection);

			// Create a new AsnEncodedDataCollection object.
			AsnEncodedDataCollection asncoll = new AsnEncodedDataCollection();
			for (int i = 0; i < scollection.Count; i++)
			{
				// Display certificate information.
				Console.ForegroundColor = ConsoleColor.Red;
				Console.WriteLine("Certificate name: {0}", scollection[i].GetName());
				Console.ResetColor();
				// Display extensions information.
				foreach (X509Extension extension in scollection[i].Extensions)
				{
					// Create an AsnEncodedData object using the extensions information.
					AsnEncodedData asndata = new AsnEncodedData(extension.Oid, extension.RawData);
					Console.ForegroundColor = ConsoleColor.Green;
					Console.WriteLine("Extension type: {0}", extension.Oid.FriendlyName);
					Console.WriteLine("Oid value: {0}",asndata.Oid.Value);
					Console.WriteLine("Raw data length: {0} {1}", asndata.RawData.Length, Environment.NewLine);
					Console.ResetColor();
					Console.WriteLine(asndata.Format(true));
					Console.WriteLine(Environment.NewLine);
					// Add the AsnEncodedData object to the AsnEncodedDataCollection object.
					asncoll.Add(asndata);
				}
				Console.WriteLine(Environment.NewLine);
			}
			Console.ForegroundColor = ConsoleColor.Red;
			Console.WriteLine("Number of AsnEncodedData items in the collection: {0} {1}", asncoll.Count, Environment.NewLine);
			Console.ResetColor();

			store.Close();
			//Create an enumerator for moving through the collection.
			AsnEncodedDataEnumerator asne = asncoll.GetEnumerator();
			//You must execute a MoveNext() to get to the first item in the collection.
			asne.MoveNext();
			// Write out AsnEncodedData in the collection.
			Console.ForegroundColor = ConsoleColor.Blue;
			Console.WriteLine("First AsnEncodedData in the collection: {0}", asne.Current.Format(true));
			Console.ResetColor();

			asne.MoveNext();
			Console.ForegroundColor = ConsoleColor.DarkBlue;
			Console.WriteLine("Second AsnEncodedData in the collection: {0}", asne.Current.Format(true));
			Console.ResetColor();
			//Return index in the collection to the beginning.
			asne.Reset();
		}
		catch (CryptographicException)
		{
			Console.WriteLine("Information could not be written out for this certificate.");
		}
	}
}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
© 2013 Microsoft. Tutti i diritti riservati.