IssuerNameRegistry Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Abstraktní základní třída pro registr názvů vystavitelů. Registr názvů vystavitelů se používá k přidružení mnemotechnického názvu k kryptografickému materiálu, který je potřeba k ověření podpisů tokenů vytvořených odpovídajícím vystavitelem. Registr názvů vystavitelů udržuje seznam vystavitelů, kterým aplikace předávající strany důvěřuje.
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
- Dědičnost
-
IssuerNameRegistry
- Odvozené
- Implementuje
Příklady
Následující kód ukazuje implementaci IssuerNameRegistry třídy, která přijímá pouze vystavitele, kteří používají certifikáty s předmětem CN=localhost.
Upozornění
Následující kód slouží pouze pro ilustrativní účely. Ověřování certifikátů na základě názvu subjektu není vhodné. Tento kód by se neměl používat jako v produkčním prostředí.
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.");
}
}
}
Níže je uveden kód XML potřebný ke konfiguraci aplikace s registrem názvů důvěryhodných vystavitelů.
<system.identityModel>
<identityConfiguration>
<issuerNameRegistry type="System.IdentityModel.Samples.TrustedIssuerNameRegistry, MyApp" />
</identityConfiguration>
</system.identityModel>
Poznámky
Registr názvů vystavitelů se používá k přidružení mnemotechnického názvu k kryptografickému materiálu potřebnému k ověření podpisů tokenů vytvořených odpovídajícím vystavitelem. Tento název se pak použije k nastavení Issuer vlastnosti nebo OriginalIssuer deklarace identity. Metody vystavené IssuerNameRegistry třídou jsou volána z kanálu obslužnou rutinou tokenu zabezpečení, která zpracovává token. Tokeny podepsané materiálem, který není mapován registrem názvů vystavitelů, se zahodí jako nedůvěryhodné. Název vrácený registrem názvů vystavitelů by měl být jedinečný v kontextu aplikace rp.
V kódu můžete určit registr názvů vystavitelů, který se má použít, nastavením SecurityTokenHandlerConfiguration.IssuerNameRegistry vlastnosti . V konfiguračním souboru lze určit registr názvů vystavitelů zadáním elementu <issuerNameRegistry> v elementu <securityTokenHandlerConfiguration> .
Technologie Windows Identity Foundation (WIF) poskytuje implementaci IssuerNameRegistry třídy, která je k sadě ConfigurationBasedIssuerNameRegistry . Při použití této implementace můžete zadat seznam důvěryhodných vystavitelů v konfiguračním souboru aplikace RP pod <trustedIssuers> element, který je podřízený prvek elementu <issuerNameRegistry>
, pokud ConfigurationBasedIssuerNameRegistryje .class odkazován v atributu type
tohoto elementu. Pod elementem <trustedIssuers>
je každý název vystavitele mapován na certifikát X.509, který by měl být použit k ověření jeho podpisu.
Pokud chcete vytvořit registr vlastních názvů vystavitelů, musíte přepsat metodu IssuerNameRegistry.GetIssuerName(SecurityToken) . Tato metoda vrátí název vystavitele pro zadaný token zabezpečení. Volitelně můžete přepsat metodu IssuerNameRegistry.GetIssuerName(SecurityToken, String) tak, aby poskytovala mechanismus nápovědy při načítání názvů vystavitelů, a metodu GetWindowsIssuerName , pokud chcete zadat název vystavitele pro tokeny systému Windows, který se liší od DefaultIssuer. Přepište metodu LoadCustomConfiguration , aby se registr názvů vystavitelů inicializoval z konfiguračního souboru.
Konstruktory
IssuerNameRegistry() |
Inicializuje novou instanci IssuerNameRegistry třídy . |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetIssuerName(SecurityToken) |
Při přepsání v odvozené třídě vrátí název vystavitele zadaného tokenu zabezpečení. |
GetIssuerName(SecurityToken, String) |
Při přepsání v odvozené třídě vrátí název vystavitele zadaného tokenu zabezpečení. Zadané jméno vystavitele lze vzít v úvahu při určování jména vystavitele, který se má vrátit. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
GetWindowsIssuerName() |
Vrátí výchozí název vystavitele, který se použije pro deklarace identity systému Windows. |
LoadCustomConfiguration(XmlNodeList) |
Při přepsání v odvozené třídě načte vlastní konfiguraci z XML. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |