IssuerNameRegistry Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Abstrakcyjna klasa bazowa dla rejestru nazw wystawców. Rejestr nazw wystawców służy do skojarzenia nazwy mnemonic z materiałem kryptograficznym, który jest potrzebny do zweryfikowania podpisów tokenów generowanych przez odpowiedniego wystawcę. Rejestr nazw wystawców przechowuje listę wystawców, które są zaufane przez aplikację jednostki uzależnionej (RP).
public ref class IssuerNameRegistry abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class IssuerNameRegistry : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type IssuerNameRegistry = class
interface ICustomIdentityConfiguration
Public MustInherit Class IssuerNameRegistry
Implements ICustomIdentityConfiguration
- Dziedziczenie
-
IssuerNameRegistry
- Pochodne
- Implementuje
Przykłady
Poniższy kod przedstawia implementację IssuerNameRegistry klasy, która akceptuje tylko wystawców korzystających z certyfikatów z podmiotem "CN=localhost".
Ostrzeżenie
Poniższy kod jest przeznaczony tylko do celów ilustracyjnych. Weryfikowanie certyfikatów na podstawie nazwy podmiotu nie jest dobrym rozwiązaniem. Ten kod nie powinien być używany w środowisku produkcyjnym.
using System.IdentityModel.Tokens;
namespace System.IdentityModel.Samples
{
/// <summary>
/// This class verifies that the issuer is trusted, and provides the issuer name.
/// </summary>
public class TrustedIssuerNameRegistry : IssuerNameRegistry
{
/// <summary>
/// Gets the issuer name of the given security token,
/// if it is the X509SecurityToken of 'localhost'.
/// </summary>
/// <param name="securityToken">The issuer's security token</param>
/// <returns>A string that represents the issuer name</returns>
/// <exception cref="SecurityTokenException">If the issuer is not trusted.</exception>
public override string GetIssuerName(SecurityToken securityToken)
{
X509SecurityToken x509Token = securityToken as X509SecurityToken;
if (x509Token != null)
{
if (String.Equals(x509Token.Certificate.SubjectName.Name, "CN=localhost"))
{
return x509Token.Certificate.SubjectName.Name;
}
}
throw new SecurityTokenException("Untrusted issuer.");
}
}
}
Poniżej przedstawiono kod XML niezbędny do skonfigurowania aplikacji z zaufanym rejestrem nazw wystawców.
<system.identityModel>
<identityConfiguration>
<issuerNameRegistry type="System.IdentityModel.Samples.TrustedIssuerNameRegistry, MyApp" />
</identityConfiguration>
</system.identityModel>
Uwagi
Rejestr nazw wystawców służy do skojarzenia nazwy mnemonic z materiałem kryptograficznym wymaganym do zweryfikowania podpisów tokenów generowanych przez odpowiedniego wystawcę. Ta nazwa jest następnie używana do ustawiania Issuer właściwości lub OriginalIssuer oświadczenia. Metody uwidocznione przez klasę IssuerNameRegistry są wywoływane z potoku przez procedurę obsługi tokenów zabezpieczających, która przetwarza token. Tokeny podpisane przez materiał, który nie jest mapowany przez rejestr nazw wystawców, są odrzucane jako niezaufane. Nazwa zwrócona przez rejestr nazw wystawców powinna być unikatowa w kontekście aplikacji rp.
W kodzie można określić rejestr nazw wystawców do użycia, ustawiając SecurityTokenHandlerConfiguration.IssuerNameRegistry właściwość. W pliku konfiguracji można określić rejestr nazw wystawców, określając <element issuerNameRegistry> w elemencie <securityTokenHandlerConfiguration> .
Program Windows Identity Foundation (WIF) udostępnia implementację IssuerNameRegistry klasy gotowej do użycia: ConfigurationBasedIssuerNameRegistry klasy . W przypadku korzystania z tej implementacji można określić listę zaufanych wystawców w pliku konfiguracji aplikacji RP w <elemencie trustedIsuers> , który jest elementem <issuerNameRegistry>
podrzędnym elementu, gdy ConfigurationBasedIssuerNameRegistryw atrybucie tego elementu type
odwołuje się klasa .class. W obszarze elementu każda <trustedIssuers>
nazwa wystawcy jest mapowana na certyfikat X.509, który powinien służyć do weryfikowania jego podpisu.
Aby utworzyć niestandardowy rejestr nazw wystawców, należy zastąpić metodę IssuerNameRegistry.GetIssuerName(SecurityToken) . Ta metoda zwraca nazwę wystawcy dla określonego tokenu zabezpieczającego. Opcjonalnie można zastąpić IssuerNameRegistry.GetIssuerName(SecurityToken, String) metodę w celu zapewnienia mechanizmu wskazówek podczas pobierania nazw wystawców i GetWindowsIssuerName metody, jeśli chcesz podać nazwę wystawcy dla tokenów systemu Windows, które różnią się od DefaultIssuer. Zastąpij metodę LoadCustomConfiguration , aby umożliwić zainicjowanie rejestru nazw wystawcy z pliku konfiguracji.
Konstruktory
IssuerNameRegistry() |
Inicjuje nowe wystąpienie klasy IssuerNameRegistry. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetIssuerName(SecurityToken) |
W przypadku zastąpienia w klasie pochodnej zwraca nazwę wystawcy określonego tokenu zabezpieczającego. |
GetIssuerName(SecurityToken, String) |
W przypadku zastąpienia w klasie pochodnej zwraca nazwę wystawcy określonego tokenu zabezpieczającego. Określona nazwa wystawcy może być brana pod uwagę podczas określania nazwy wystawcy do zwrócenia. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetWindowsIssuerName() |
Zwraca domyślną nazwę wystawcy, która ma być używana dla oświadczeń systemu Windows. |
LoadCustomConfiguration(XmlNodeList) |
Po zastąpieniu w klasie pochodnej ładuje konfigurację niestandardową z kodu XML. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |