Sdílet prostřednictvím


IssuerNameRegistry Třída

Definice

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)

Platí pro

Viz také