Oid 类

定义

表示加密对象标识符。 无法继承此类。

C#
public sealed class Oid
继承
Oid

示例

下面的代码示例演示如何使用 Oid 类。

C#
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();
    }
}

注解

加密对象标识符由值/名称对组成。 如果对中的一个属性设置为已知值,则另一个属性会自动更新为相应的值。 例如,如果 Value 属性设置为“1.3.6.1.5.5.7.3.4”,则 FriendlyName 属性将自动设置为“安全电子邮件”。

构造函数

Oid()

初始化 Oid 类的新实例。

Oid(Oid)

使用指定的 Oid 对象初始化 Oid 类的新实例。

Oid(String, String)

使用指定的值和友好名称初始化 Oid 类的新实例。

Oid(String)

使用 Oid 对象的字符串值初始化 Oid 类的新实例。

属性

FriendlyName

获取或设置标识符的友好名称。

Value

获取或设置标识符的点数。

方法

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
FromFriendlyName(String, OidGroup)

通过搜索指定的组,从 OID 友好名称创建 Oid 对象。

FromOidValue(String, OidGroup)

使用指定的 OID 值和组创建 Oid 对象。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1