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.

public ref class StrongNameKeyPair : System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public ref class StrongNameKeyPair
public class StrongNameKeyPair : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[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
[System.Serializable]
public class StrongNameKeyPair
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StrongNameKeyPair : System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type StrongNameKeyPair = class
    interface IDeserializationCallback
    interface ISerializable
[<System.Obsolete("Strong name signing is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0017", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameKeyPair = class
    interface IDeserializationCallback
    interface ISerializable
[<System.Serializable>]
type StrongNameKeyPair = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameKeyPair = class
    interface IDeserializationCallback
    interface ISerializable
Public Class StrongNameKeyPair
Implements IDeserializationCallback, ISerializable
Public Class StrongNameKeyPair
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.

using namespace System;
using namespace System::IO;
using namespace System::Reflection;

ref 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 = gcnew StrongNameKeyPair(fs);

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

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

int main()
{
    snkX::Main();
}

// 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
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
Imports System.Reflection
Imports System.IO

Module Module1

    Sub 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
        Dim fs As FileStream = File.Open("C:\Company.keys", FileMode.Open)

        ' Construct a StrongNameKeyPair object. This object should obtain 
        ' the public key from the Company.keys file.
        Dim k As Reflection.StrongNameKeyPair = _
            New Reflection.StrongNameKeyPair(fs)

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

        ' Close the file.
        fs.Close()
    End Sub
End Module

' 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

See also