Aracılığıyla paylaş


X509CertificateRecipientServiceCredential.SetCertificate Yöntem

Tanım

Hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

Aşırı Yüklemeler

SetCertificate(String)

Konu ayırt edici adını belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

SetCertificate(String, StoreLocation, StoreName)

Konu ayırt edici adını, sertifika deposu adını ve depo konumunu belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

, storeNamefindType ve findValuegibi storeLocationsorgu parametrelerini belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

SetCertificate(String)

Konu ayırt edici adını belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

public:
 void SetCertificate(System::String ^ subjectName);
public void SetCertificate (string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)

Parametreler

subjectName
String

Konu ayırt edici adı.

Örnekler

Aşağıdaki kod, konu adından bir hizmet kimlik bilgisi için sertifika ayarlamak için bu yöntemin nasıl kullanılacağını gösterir.

NetTcpBinding b = new NetTcpBinding();
b.Security.Mode = SecurityMode.Message;
Type c = typeof(ICalculator);
Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
Uri[] baseAddresses = new Uri[] { a };
ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
sh.AddServiceEndpoint(c, b, "Aloha");
sh.Credentials.ServiceCertificate.SetCertificate(
    "CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com");
sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate("CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com")
sh.Open()

Açıklamalar

parametresi hakkında subjectName daha fazla bilgi için bkz SubjectName. .

Şunlara uygulanır

SetCertificate(String, StoreLocation, StoreName)

Konu ayırt edici adını, sertifika deposu adını ve depo konumunu belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

public:
 void SetCertificate(System::String ^ subjectName, System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName);
public void SetCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName);
member this.SetCertificate : string * System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName -> unit
Public Sub SetCertificate (subjectName As String, storeLocation As StoreLocation, storeName As StoreName)

Parametreler

subjectName
String

Konu ayırt edici adı.

storeLocation
StoreLocation

Hizmetin hizmet sertifikasını almak için kullandığı sertifika deposunun konumu.

storeName
StoreName

Açılacak X.509 sertifika deposunun adını belirtir.

Örnekler

Aşağıdaki kod, hizmet kimlik bilgileri için sertifika ayarlamak üzere bu yöntemin nasıl kullanılacağını gösterir.

NetTcpBinding b = new NetTcpBinding();
b.Security.Mode = SecurityMode.Message;
Type c = typeof(ICalculator);
Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
Uri[] baseAddresses = new Uri[] { a };
ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
sh.AddServiceEndpoint(c, b, "Aloha");
sh.Credentials.ServiceCertificate.SetCertificate(
    "CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com",
    StoreLocation.LocalMachine,
    StoreName.My);
sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate("CN=Administrator,CN=Users,DC=johndoe,DC=nttest,DC=microsoft,DC=com", StoreLocation.LocalMachine, StoreName.My)
sh.Open()

Açıklamalar

parametresi hakkında subjectName daha fazla bilgi için bkz SubjectName. .

değerleri storeLocation numaralandırmaya StoreLocation eklenir:

  • LocalMachine: yerel makineye atanan sertifika deposu (varsayılan).

  • CurrentUser: geçerli kullanıcı tarafından kullanılan sertifika deposu.

İstemci uygulaması bir sistem hesabı altında çalışıyorsa, sertifika genellikle içindedir LocalMachine. İstemci uygulaması bir kullanıcı hesabı altında çalışıyorsa, sertifika genellikle içindedir CurrentUser.

değerleri storeName numaralandırmaya StoreName eklenir.

Şunlara uygulanır

SetCertificate(StoreLocation, StoreName, X509FindType, Object)

, storeNamefindType ve findValuegibi storeLocationsorgu parametrelerini belirterek hizmeti temsil etmek için kullanılacak sertifikayı belirtir.

public:
 void SetCertificate(System::Security::Cryptography::X509Certificates::StoreLocation storeLocation, System::Security::Cryptography::X509Certificates::StoreName storeName, System::Security::Cryptography::X509Certificates::X509FindType findType, System::Object ^ findValue);
public void SetCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue);
member this.SetCertificate : System.Security.Cryptography.X509Certificates.StoreLocation * System.Security.Cryptography.X509Certificates.StoreName * System.Security.Cryptography.X509Certificates.X509FindType * obj -> unit
Public Sub SetCertificate (storeLocation As StoreLocation, storeName As StoreName, findType As X509FindType, findValue As Object)

Parametreler

storeLocation
StoreLocation

İstemcinin istemci sertifikasını almak için kullandığı sertifika deposunun konumu.

storeName
StoreName

Açılacak X.509 sertifika deposunun adını belirtir.

findType
X509FindType

Yürütülecek X.509 aramasının türünü tanımlar.

findValue
Object

X.509 sertifika deposunda aranacak değer.

Örnekler

Aşağıdaki kod, hizmet kimlik bilgileri için sertifika ayarlamak üzere bu yöntemin nasıl kullanılacağını gösterir.

    NetTcpBinding b = new NetTcpBinding();
    b.Security.Mode = SecurityMode.Message;
    Type c = typeof(ICalculator);
    Uri a = new Uri("net.tcp://MyMachineName/tcpBase");
    Uri[] baseAddresses = new Uri[] { a };
    ServiceHost sh = new ServiceHost(typeof(MyService), baseAddresses);
    sh.AddServiceEndpoint(c, b, "Aloha");
    sh.Credentials.ServiceCertificate.SetCertificate(
        StoreLocation.LocalMachine,
        StoreName.My,
        X509FindType.FindByThumbprint,
        "af1f50b20cd413ed9cd00c315bbb6dc1c08da5e6");
    sh.Open();
Dim b As New NetTcpBinding()
b.Security.Mode = SecurityMode.Message
Dim c As Type = GetType(ICalculator)
Dim a As New Uri("net.tcp://MyMachineName/tcpBase")
Dim baseAddresses() As Uri = { a }
Dim sh As New ServiceHost(GetType(MyService), baseAddresses)
sh.AddServiceEndpoint(c, b, "Aloha")
sh.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, "af1f50b20cd413ed9cd00c315bbb6dc1c08da5e6")
sh.Open()

Açıklamalar

değerleri storeLocation numaralandırmaya StoreLocation eklenir:

  • LocalMachine: yerel makineye atanan sertifika deposu (varsayılan).

  • CurrentUser: geçerli kullanıcı tarafından kullanılan sertifika deposu.

İstemci uygulaması bir sistem hesabı altında çalışıyorsa, sertifika genellikle içindedir LocalMachine. İstemci uygulaması bir kullanıcı hesabı altında çalışıyorsa, sertifika genellikle içindedir CurrentUser.

değerleri storeName numaralandırmaya StoreName eklenir.

değerleri findType numaralandırmaya X509FindType eklenir.

En sık kullanılan numaralandırma, belirtilen depodaki sertifikaların konu adı üzerinde büyük/küçük harfe duyarlı olmayan bir arama yapan numaralandırmadır FindBySubjectName. Bu, kesin olmayan bir arama olabilir. Birden fazla sertifika döndürülürse, istemciyi temsil etmek için bul ile eşleşen ilk sertifika kullanılır.

Şunlara uygulanır