X509CertificateRecipientServiceCredential.SetCertificate Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger det certifikat som ska användas för att representera tjänsten.
Överlagringar
| Name | Description |
|---|---|
| SetCertificate(String) |
Anger det certifikat som ska användas för att representera tjänsten genom att ange det unika ämnesnamnet. |
| SetCertificate(String, StoreLocation, StoreName) |
Anger det certifikat som ska användas för att representera tjänsten genom att ange det unika namnet på certifikatmottagaren, certifikatarkivets namn och lagringsplats. |
| SetCertificate(StoreLocation, StoreName, X509FindType, Object) |
Anger det certifikat som ska användas för att representera tjänsten genom att ange frågeparametrar som |
SetCertificate(String)
Anger det certifikat som ska användas för att representera tjänsten genom att ange det unika ämnesnamnet.
public:
void SetCertificate(System::String ^ subjectName);
public void SetCertificate(string subjectName);
member this.SetCertificate : string -> unit
Public Sub SetCertificate (subjectName As String)
Parametrar
- subjectName
- String
Ämnesskilt namn.
Exempel
Följande kod visar hur du använder den här metoden för att ange ett certifikat för en tjänstautentiseringsuppgift från ett ämnesnamn.
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()
Kommentarer
Mer information om parametern subjectNamefinns i SubjectName .
Gäller för
SetCertificate(String, StoreLocation, StoreName)
Anger det certifikat som ska användas för att representera tjänsten genom att ange det unika namnet på certifikatmottagaren, certifikatarkivets namn och lagringsplats.
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)
Parametrar
- subjectName
- String
Ämnesskilt namn.
- storeLocation
- StoreLocation
Platsen för certifikatarkivet som tjänsten använder för att hämta tjänstcertifikatet.
- storeName
- StoreName
Anger namnet på X.509-certifikatarkivet som ska öppnas.
Exempel
Följande kod visar hur du använder den här metoden för att ange ett certifikat för en tjänstautentiseringsuppgift.
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()
Kommentarer
Mer information om parametern subjectNamefinns i SubjectName .
Värden för storeLocation ingår i StoreLocation uppräkningen:
LocalMachine: certifikatarkivet som tilldelats den lokala datorn (standard).
CurrentUser: certifikatarkivet som används av den aktuella användaren.
Om klientprogrammet körs under ett systemkonto finns certifikatet vanligtvis i LocalMachine. Om klientprogrammet körs under ett användarkonto finns certifikatet vanligtvis i CurrentUser.
Värden för storeName ingår i StoreName uppräkningen.
Gäller för
SetCertificate(StoreLocation, StoreName, X509FindType, Object)
Anger det certifikat som ska användas för att representera tjänsten genom att ange frågeparametrar som storeLocation, storeNamefindTypeoch findValue.
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)
Parametrar
- storeLocation
- StoreLocation
Platsen för certifikatarkivet som klienten använder för att hämta klientcertifikatet.
- storeName
- StoreName
Anger namnet på X.509-certifikatarkivet som ska öppnas.
- findType
- X509FindType
Definierar vilken typ av X.509-sökning som ska köras.
- findValue
- Object
Värdet att söka efter i X.509-certifikatarkivet.
Exempel
Följande kod visar hur du använder den här metoden för att ange ett certifikat för en tjänstautentiseringsuppgift.
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()
Kommentarer
Värden för storeLocation ingår i StoreLocation uppräkningen:
LocalMachine: certifikatarkivet som tilldelats den lokala datorn (standard).
CurrentUser: certifikatarkivet som används av den aktuella användaren.
Om klientprogrammet körs under ett systemkonto finns certifikatet vanligtvis i LocalMachine. Om klientprogrammet körs under ett användarkonto finns certifikatet vanligtvis i CurrentUser.
Värden för storeName ingår i StoreName uppräkningen.
Värden för findType ingår i X509FindType uppräkningen.
Den vanligaste uppräkningen är FindBySubjectName, som gör en skiftlägeskänslig sökning på certifikatets ämnesnamn i det angivna arkivet. Detta kan vara en oprecis sökning. Om mer än ett certifikat returneras används den första som matchar sökningen för att representera klienten.