IssuerNameRegistry Třída

Definice

Abstraktní základní třída registru názvů vystavitele. Registr názvů vystavitelů slouží k přidružení mnemónního názvu k kryptografickému materiálu, který je nutný 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 používající certifikáty s předmětem CN=localhost.

Výstraha

Následující kód je určen pouze pro ilustrativní účely. Ověřování certifikátů na základě názvu subjektu není dobrým postupem. 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ásledující příklad ukazuje 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ů slouží k přidružení mnemónní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 nebo OriginalIssuer vlastnosti 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ů vystavitele by měl být jedinečný v kontextu aplikace rp.

V kódu můžete zadat registr názvů vystavitele, který se má použít nastavením SecurityTokenHandlerConfiguration.IssuerNameRegistry vlastnosti. V konfiguračním souboru lze registr názvů vystavitelů zadat zadáním <elementu issuerNameRegistry> v elementu< securityTokenHandlerConfiguration>.

Windows Identity Foundation (WIF) poskytuje implementaci IssuerNameRegistry třídy mimo krabici: ConfigurationBasedIssuerNameRegistry třída. Při použití této implementace můžete určit seznam důvěryhodných vystavitelů v konfiguračním souboru aplikace RP pod <trustedIssuers> element, což je podřízený prvek elementu <issuerNameRegistry> , když ConfigurationBasedIssuerNameRegistry.class je odkazován v atributu tohoto elementu type . V rámci elementu <trustedIssuers> se každý název vystavitele mapuje na certifikát X.509, který by se měl použít k ověření jeho podpisu.

Chcete-li vytvořit vlastní registr názvů vystavitelů, je nutné 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) , která poskytuje mechanismus nápovědy při načítání názvů vystavitelů a GetWindowsIssuerName metody, 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

Name Description
IssuerNameRegistry()

Inicializuje novou instanci IssuerNameRegistry třídy.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetIssuerName(SecurityToken, String)

Při přepsání v odvozené třídě vrátí název vystavitele zadaného tokenu zabezpečení. Zadaný název vystavitele může být považován za určení názvu vystavitele, který se má vrátit.

GetIssuerName(SecurityToken)

Při přepsání v odvozené třídě vrátí název vystavitele zadaného tokenu zabezpečení.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetWindowsIssuerName()

Vrátí výchozí název vystavitele, který se má použít 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 Object.

(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é