Edit

Share via


StrongNameKeyPair Class

Definition

Caution

Strong name signing is not supported and throws PlatformNotSupportedException.

Encapsulates access to a public or private key pair used to sign strong name assemblies.

C#
public class StrongNameKeyPair : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
C#
[System.Obsolete("Strong name signing is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0017", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public class StrongNameKeyPair : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
C#
[System.Serializable]
public class StrongNameKeyPair
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StrongNameKeyPair : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
Inheritance
StrongNameKeyPair
Attributes
Implements

Examples

The following code example shows how to open a Company.keys file (produced by running the Sn.exe (Strong Name Tool) with the -k switch), read the public key from the file, and display the key in the console window.

C#
using System;
using System.IO;
using System.Reflection;

class snkX
{

    public static void Main()
    {
        // Open a file that contains a public key value. The line below
        // assumes that the Strong Name tool (SN.exe) was executed from
        // a command prompt as follows:
        //       SN.exe -k C:\Company.keys
        FileStream fs = File.Open("C:\\Company.keys", FileMode.Open);

        // Construct a StrongNameKeyPair object. This object should obtain
        // the public key from the Company.keys file.
        StrongNameKeyPair k = new StrongNameKeyPair(fs);

        // Display the bytes that make up the public key.
        Console.WriteLine(BitConverter.ToString(k.PublicKey));

        // Close the file.
        fs.Close();
    }
}

// Output will vary by user.
//
//  00-24-00-00-04-80-00-00-94-69-89-78-BB-F1-F2-71-00-00-00-34-26-
//  69-89-78-BB-F1-F2-71-00-F1-FA-F2-F9-4A-A8-5E-82-55-AB-49-4D-A6-
//  ED-AB-5F-CE-DE-59-49-8D-63-01-B0-E1-BF-43-07-FA-55-D4-36-75-EE-
//  8B-83-32-39-B7-02-DE-3D-81-29-7B-E8-EA-F0-2E-78-94-96-F1-73-79-
//  69-89-78-BB-F1-F2-71-0E-4E-F4-5D-DD-A4-7F-11-54-DF-65-DE-89-23-
//  91-AD-53-E1-C0-DA-9E-0C-88-BE-AA-7B-39-20-9C-9B-55-34-26-3B-1A-
//  53-41-31-00-04-00-00-01-00-01-00-9D-F1-EA-14-4C-88-34-26-3B-1A-
//  2D-D7-A0-AB-F6-7E-B7-24-7F-87-DF-3E-97

Constructors

StrongNameKeyPair(Byte[])

Initializes a new instance of the StrongNameKeyPair class, building the key pair from a byte array.

StrongNameKeyPair(FileStream)

Initializes a new instance of the StrongNameKeyPair class, building the key pair from a FileStream.

StrongNameKeyPair(SerializationInfo, StreamingContext)
Obsolete.

Initializes a new instance of the StrongNameKeyPair class, building the key pair from serialized data.

StrongNameKeyPair(String)

Initializes a new instance of the StrongNameKeyPair class, building the key pair from a String.

Properties

PublicKey

Gets the public part of the public key or public key token of the key pair.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IDeserializationCallback.OnDeserialization(Object)

Runs when the entire object graph has been deserialized.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Sets the SerializationInfo object with all the data required to reinstantiate the current StrongNameKeyPair object.

Applies to

Product Versions (Obsolete)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5 (6, 7, 8, 9)
.NET Framework 1.1, 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 2.0, 2.1

See also