Export (0) Print
Expand All

Oid Class

Note: This class is new in the .NET Framework version 2.0.

Represents a cryptographic object identifier. This class cannot be inherited.

Namespace: System.Security.Cryptography
Assembly: System (in system.dll)

public sealed class Oid
public final class Oid
public final class Oid

Cryptographic object identifiers consist of a value/name pair. If one property in a pair is set to a known value, the other property is updated automatically to a corresponding value. For example, if the Value property is set to "1.3.6.1.5.5.7.3.4", the FriendlyName property, which is localized, is set automatically to "Secure Email".

The following code example shows how to use the Oid class.

using System;
using System.Security.Cryptography;
public class OidSample
{
	public static void Main()
	{
		// Assign values to strings.
		string Value1 = "1.2.840.113549.1.1.1";
		string Name1 = "3DES";
		string Value2 = "1.3.6.1.4.1.311.20.2";
		string InvalidName = "This name is not a valid name";
		string InvalidValue = "1.1.1.1.1.1.1.1";

		// Create new Oid objects using the specified values.
		// Note that the corresponding Value or Friendly Name property is automatically added to the object.
		Oid o1 = new Oid(Value1);
		Oid o2 = new Oid(Name1);

		// Create a new Oid object using the specified Value and Friendly Name properties.
		// Note that the two are not compared to determine if the Value is associated 
		//  with the Friendly Name.
		Oid o3 = new Oid(Value2, InvalidName);

		//Create a new Oid object using the specified Value. Note that if the value
		//  is invalid or not known, no value is assigned to the Friendly Name property.
		Oid o4 = new Oid(InvalidValue);

		//Write out the property information of the Oid objects.
		Console.WriteLine("Oid1: Automatically assigned Friendly Name: {0}, {1}", o1.FriendlyName, o1.Value);
		Console.WriteLine("Oid2: Automatically assigned Value: {0}, {1}", o2.FriendlyName, o2.Value);
		Console.WriteLine("Oid3: Name and Value not compared: {0}, {1}", o3.FriendlyName, o3.Value);
		Console.WriteLine("Oid4: Invalid Value used: {0}, {1} {2}", o4.FriendlyName, o4.Value, Environment.NewLine);

		//Create an Oid collection and add several Oid objects.
		OidCollection oc = new OidCollection();
		oc.Add(o1);
		oc.Add(o2);
		oc.Add(o3);
		Console.WriteLine("Number of Oids in the collection: {0}", oc.Count);
		Console.WriteLine("Is synchronized: {0} {1}", oc.IsSynchronized, Environment.NewLine);

		//Create an enumerator for moving through the collection.
		OidEnumerator oe = oc.GetEnumerator();
		//You must execute a MoveNext() to get to the first item in the collection.
		oe.MoveNext();
		// Write out Oids in the collection.
		Console.WriteLine("First Oid in collection: {0},{1}", oe.Current.FriendlyName,oe.Current.Value);
		oe.MoveNext();
		Console.WriteLine("Second Oid in collection: {0},{1}", oe.Current.FriendlyName, oe.Current.Value);
		//Return index in the collection to the beginning.
		oe.Reset();
	}
}

import System.*;
import System.Security.Cryptography.*;

public class OidSample
{
    public static void main(String args[])
    {
        // Assign values to strings.
        String value1 = "1.2.840.113549.1.1.1";
        String name1 = "3DES";
        String value2 = "1.3.6.1.4.1.311.20.2";
        String invalidName = "This name is not a valid name";
        String invalidValue = "1.1.1.1.1.1.1.1";
        // Create new Oid objects using the specified values.
        // Note that the corresponding Value or Friendly Name property 
        // is automatically added to the object.
        Oid o1 = new Oid(value1);
        Oid o2 = new Oid(name1);
        // Create a new Oid object using the specified Value and Friendly 
        // Name properties.
        // Note that the two are not compared to determine if the Value is 
        // associated with the Friendly Name.
        Oid o3 = new Oid(value2, invalidName);
        // Create a new Oid object using the specified Value. Note that if the
        // value is invalid or not known, no value is assigned to the Friendly 
        // Name property.
        Oid o4 = new Oid(invalidValue);
        //Write out the property information of the Oid objects.
        Console.WriteLine("Oid1: Automatically assigned Friendly Name: {0}, {1}",
            o1.get_FriendlyName(), o1.get_Value());
        Console.WriteLine("Oid2: Automatically assigned Value: {0}, {1}", 
            o2.get_FriendlyName(), o2.get_Value());
        Console.WriteLine("Oid3: Name and Value not compared: {0}, {1}", 
            o3.get_FriendlyName(), o3.get_Value());
        Console.WriteLine("Oid4: Invalid Value used: {0}, {1} {2}", 
            o4.get_FriendlyName(), o4.get_Value(), Environment.get_NewLine());
        //Create an Oid collection and add several Oid objects.
        OidCollection oc = new OidCollection();
        oc.Add(o1);
        oc.Add(o2);
        oc.Add(o3);
        Console.WriteLine("Number of Oids in the collection: {0}", 
            System.Convert.ToString(oc.get_Count()));
        Console.WriteLine("Is synchronized: {0} {1}", 
            System.Convert.ToString(oc.get_IsSynchronized()), 
            Environment.get_NewLine());
        //Create an enumerator for moving through the collection.
        OidEnumerator oe = oc.GetEnumerator();
        //You must execute a MoveNext() to get to the first item in the
        //collection.
        oe.MoveNext();
        // Write out Oids in the collection.
        Console.WriteLine("First Oid in collection: {0},{1}", 
            oe.get_Current().get_FriendlyName(), 
            oe.get_Current().get_Value());
        oe.MoveNext();
        Console.WriteLine("Second Oid in collection: {0},{1}",
            oe.get_Current().get_FriendlyName(), oe.get_Current().get_Value());
        //Return index in the collection to the beginning.
        oe.Reset();
    } //main
} //OidSample

System.Object
  System.Security.Cryptography.Oid

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft