Partilhar via


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() _
)
public void LoadUserCertificateByHash (
    byte[] certHash
)
public:
void LoadUserCertificateByHash (
    array<unsigned char>^ certHash
)
public void LoadUserCertificateByHash (
    byte[] certHash
)
public function LoadUserCertificateByHash (
    certHash : byte[]
)

Parameters

  • certHash
    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.

Example

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

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

Package Class
Package Members
Microsoft.SqlServer.Dts.Runtime Namespace