IssuerNameRegistry Klas

Definitie

De abstracte basisklasse voor een naamregister van een verlener. Een register van de uitgevernaam wordt gebruikt om een mnemonic-naam te koppelen aan het cryptografische materiaal dat nodig is om de handtekeningen van tokens te verifiëren die door de bijbehorende verlener zijn geproduceerd. Het register van de uitgevernaam onderhoudt een lijst met verleners die worden vertrouwd door een relying party-toepassing (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
Overname
IssuerNameRegistry
Afgeleid
Implementeringen

Voorbeelden

De volgende code toont een implementatie van de IssuerNameRegistry klasse die alleen verleners accepteert die certificaten gebruiken met het onderwerp 'CN=localhost'.

Waarschuwing

De volgende code is alleen bedoeld voor illustratieve doeleinden. Het valideren van certificaten op basis van de onderwerpnaam is geen goede gewoonte. Deze code mag niet worden gebruikt zoals in productie.

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.");
        }
    }
}

Hieronder ziet u de XML die nodig is om een toepassing te configureren met het register met de vertrouwde verlenernaam.

<system.identityModel>
  <identityConfiguration>
    <issuerNameRegistry type="System.IdentityModel.Samples.TrustedIssuerNameRegistry, MyApp" />
  </identityConfiguration>
</system.identityModel>

Opmerkingen

Het register van de uitgevernaam wordt gebruikt om een mnemonic-naam te koppelen aan het cryptografische materiaal dat nodig is om handtekeningen van tokens te verifiëren die door de bijbehorende verlener zijn geproduceerd. Deze naam wordt vervolgens gebruikt om de Issuer of de OriginalIssuer eigenschap van een claim in te stellen. De methoden die door de klasse worden weergegeven, worden aangeroepen vanuit de IssuerNameRegistry pijplijn door de beveiligingstokenhandler die het token verwerkt. Tokens die zijn ondertekend door materiaal dat niet is toegewezen door een naamregister van de uitgever, worden genegeerd als niet-vertrouwd. De naam die wordt geretourneerd door het register van de verlenernaam moet uniek zijn binnen de context van een RP-toepassing.

In code kunt u het register van de uitgevernaam opgeven dat moet worden gebruikt door de SecurityTokenHandlerConfiguration.IssuerNameRegistry eigenschap in te stellen. In een configuratiebestand kan het naamregister van de uitgever worden opgegeven door het <element issuerNameRegistry> op te geven onder het <element securityTokenHandlerConfiguration> .

Windows Identity Foundation (WIF) biedt een implementatie van de klasse IssuerNameRegistry uit de doos: de klasse ConfigurationBasedIssuerNameRegistry. Wanneer u deze implementatie gebruikt, kunt u de lijst met vertrouwde verleners opgeven in het configuratiebestand van de RP-toepassing onder het <element trustedIssuers> . Dit is een onderliggend element van het <issuerNameRegistry> element wanneer naar de ConfigurationBasedIssuerNameRegistryklasse wordt verwezen in het kenmerk van type dat element. Onder het <trustedIssuers> element wordt elke naam van de verlener toegewezen aan het X.509-certificaat dat moet worden gebruikt om de handtekening te verifiëren.

Als u een aangepast naamregister voor verleners wilt maken, moet u de IssuerNameRegistry.GetIssuerName(SecurityToken) methode overschrijven. Deze methode retourneert de naam van de uitgever voor het opgegeven beveiligingstoken. U kunt desgewenst de methode IssuerNameRegistry.GetIssuerName(SecurityToken, String) overschrijven om een hintingmechanisme te bieden bij het ophalen van namen van verleners en de methode GetWindowsIssuerName als u een naam van een verlener wilt opgeven voor Windows tokens die afwijken van DefaultIssuer. Overschrijf de LoadCustomConfiguration methode om in te schakelen dat het register van de verlenernaam kan worden geïnitialiseerd vanuit een configuratiebestand.

Constructors

Name Description
IssuerNameRegistry()

Initialiseert een nieuw exemplaar van de IssuerNameRegistry klasse.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetIssuerName(SecurityToken, String)

Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de naam van de verlener van het opgegeven beveiligingstoken. De opgegeven naam van de verlener kan worden overwogen bij het bepalen van de naam van de verlener die moet worden geretourneerd.

GetIssuerName(SecurityToken)

Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de naam van de verlener van het opgegeven beveiligingstoken.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetWindowsIssuerName()

Retourneert de standaarduitgevernaam die moet worden gebruikt voor Windows claims.

LoadCustomConfiguration(XmlNodeList)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de aangepaste configuratie uit XML geladen.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook