Package.LoadUserCertificateByHash Method

Loads the certificate for the package according to the certificate hash.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

Syntax

'Declaration
Public Sub LoadUserCertificateByHash ( _
    certHash As Byte() _
)
'Usage
Dim instance As Package
Dim certHash As Byte()

instance.LoadUserCertificateByHash(certHash)
public void LoadUserCertificateByHash(
    byte[] certHash
)
public:
void LoadUserCertificateByHash(
    array<unsigned char>^ certHash
)
member LoadUserCertificateByHash : 
        certHash:byte[] -> unit 
public function LoadUserCertificateByHash(
    certHash : byte[]
)

Parameters

  • certHash
    Type: array<System.Byte[]
    A byte array that contains the hash of the certificate for the package.

Remarks

To obtain the byte hash code of a certificate, you can use the X509Certificate.GetCertHash Method from the System.Security.Cryptography.X509Certificates namespace.

Examples

The following code example shows the syntax to load a user certificate using the certificate hash.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace Package_API
{
    class Program
    {
        static void Main(string[] args)
        {
            Application app = new Application();
            Package pkg = new Package();

            pkg.Name = ("Cool Test on Loading Certificates");
            pkg.LoadUserCertificateByName("\"VeriSign, Inc.\", VeriSign Trust Network, \"www.verisign.com/repository/RPA Incorp. by Ref.,LIAB.LTD(c)98\", Persona Not Validated, Digital ID Class 1 - Microsoft, <name>, <alias>");
        
    pkg.LoadUserCertificateByHash(pkg.CertificateObject.GetCertHash());

            // Save signed package  to change_this.dtsx
            app.SaveToXml("change_this.dtxs", pkg, null);
            app.CheckSignatureOnLoad = false;
            pkg = app.LoadPackage("change_this.dtxs", null);
            DTSSignatureStatus dss = pkg.CheckSignature();
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime

Class Program
    Shared Sub Main(ByVal args() As String) 
        Dim app As New Application()
        Dim pkg As New Package()

        pkg.Name = "Cool Test on Loading Certificates"
        pkg.LoadUserCertificateByName("""VeriSign, Inc."", VeriSign Trust Network, ""www.verisign.com/repository/RPA Incorp. by Ref.,LIAB.LTD(c)98"", Persona Not Validated, Digital ID Class 1 - Microsoft, <name>, <alias>")

        pkg.LoadUserCertificateByHash(
            pkg.CertificateObject.GetCertHash())

        ' Save signed package  to change_this.dtsx
        app.SaveToXml("change_this.dtxs", pkg, Nothing)
        app.CheckSignatureOnLoad = False
        pkg = app.LoadPackage("change_this.dtxs", Nothing)
        Dim dss As DTSSignatureStatus = pkg.CheckSignature()
    End Sub
End Class