X509Certificate.GetPublicKey Method

Definition

Returns the public key for the X.509v3 certificate as an array of bytes.

public:
 virtual cli::array <System::Byte> ^ GetPublicKey();
public virtual byte[] GetPublicKey ();
abstract member GetPublicKey : unit -> byte[]
override this.GetPublicKey : unit -> byte[]
Public Overridable Function GetPublicKey () As Byte()

Returns

Byte[]

The public key for the X.509 certificate as an array of bytes.

Exceptions

The certificate context is invalid.

Examples

The following example uses the GetPublicKey method to return a certificate's public key as an array of bytes and displays it to the console.

using namespace System;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   
   // The path to the certificate.
   String^ Certificate = "Certificate.cer";
   
   // Load the certificate into an X509Certificate object.
   X509Certificate^ cert = X509Certificate::CreateFromCertFile( Certificate );
   
   // Get the value.
   array<Byte>^results = cert->GetPublicKey();
   
   // Display the value to the console.
   System::Collections::IEnumerator^ enum0 = results->GetEnumerator();
   while ( enum0->MoveNext() )
   {
      Byte b = safe_cast<Byte>(enum0->Current);
      Console::Write( b );
   }
}

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

public class X509
{

    public static void Main()
    {

        // The path to the certificate.
        string Certificate =  "Certificate.cer";

        // Load the certificate into an X509Certificate object.
        X509Certificate cert = X509Certificate.CreateFromCertFile(Certificate);

        // Get the value.
        byte[] results = cert.GetPublicKey();

        // Display the value to the console.
        foreach(byte b in results)
        {
            Console.Write(b);
        }
    }
}
Imports System.Security.Cryptography.X509Certificates




Public Class X509
   
   
   Public Shared Sub Main()
      
      ' The path to the certificate.
      Dim Certificate As String = "Certificate.cer"
      
      ' Load the certificate into an X509Certificate object.
      Dim cert As X509Certificate = X509Certificate.CreateFromCertFile(Certificate)
      
      ' Get the value.
      Dim results As Byte() = cert.GetPublicKey()
      
      ' Display the value to the console.
      Dim b As Byte
      For Each b In  results
         Console.Write(b)
      Next b
   End Sub
End Class

Remarks

This value corresponds to the contents of the subjectPublicKey field of the SubjectPublicKeyInfo data within the certificate.

Applies to