Package.LoadUserCertificateByHash(Byte[]) 方法

定义

根据证书哈希加载包的证书。

public:
 void LoadUserCertificateByHash(cli::array <System::Byte> ^ certHash);
public void LoadUserCertificateByHash (byte[] certHash);
member this.LoadUserCertificateByHash : byte[] -> unit
Public Sub LoadUserCertificateByHash (certHash As Byte())

参数

certHash
Byte[]

一个包含包证书哈希的字节数组。

示例

下面的代码示例演示了使用证书哈希加载用户证书的语法。

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  

注解

若要获取证书的字节哈希代码,可以使用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Certificate.GetCertHash 方法

适用于