IssuerNameRegistry 클래스

정의

발급자 이름 레지스트리에 대한 추상 기본 클래스입니다. 발급자 이름 레지스트리는 해당 발급자가 생성한 토큰의 서명을 확인하는 데 필요한 암호화 자료에 니모닉 이름을 연결하는 데 사용됩니다. 발급자 이름 레지스트리에서는 신뢰 당사자(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
상속
IssuerNameRegistry
파생
구현

예제

다음 코드의 구현을 보여 줍니다는 IssuerNameRegistry 주체를 사용 하 여 인증서를 사용 하는 발급자만 허용 하는 클래스 "CN = localhost"입니다.

경고

다음 코드는 설명 목적 으로만 제공입니다. 좋습니다 아닙니다 주체 이름을 기반으로 하는 인증서의 유효성을 검사 합니다. 이 코드는 프로덕션 환경에서 사용할 수 없습니다.

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

다음은 XML 신뢰할 수 있는 발급자 이름 레지스트리를 사용 하 여 애플리케이션을 구성 하는 데 필요한 합니다.

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

설명

발급자 이름 레지스트리는 해당 발급자가 생성 한 토큰의 서명을 확인 하는 데 필요한 암호화 자료에 니모닉 이름을 연결 하 여 사용 됩니다. 이 이름은 다음 설정에 사용 된 Issuer 또는 OriginalIssuer 클레임의 속성입니다. 노출 되는 메서드는 IssuerNameRegistry 클래스에서 호출 하는 파이프라인에서 토큰을 처리 하는 보안 토큰 처리기입니다. 발급자 이름 레지스트리에서 매핑되지 않은 자료에 서명한 토큰이 삭제 됩니다와 신뢰할 수 없는 합니다. 발급자 이름 레지스트리에 의해 반환 되는 RP 애플리케이션의 컨텍스트 내에서 고유 해야 합니다.

코드에서 설정 하 여 사용할 발급자 이름 레지스트리를 지정할 수 있습니다는 SecurityTokenHandlerConfiguration.IssuerNameRegistry 속성입니다. 구성 파일에서 securityTokenHandlerConfiguration> 요소 아래에<issuerNameRegistry> 요소를 지정하여< 발급자 이름 레지스트리를 지정할 수 있습니다.

Windows Identity Foundation (WIF)의 구현을 제공 합니다 IssuerNameRegistry 즉시 클래스:는 ConfigurationBasedIssuerNameRegistry 클래스입니다. 이 구현을 사용하는 경우 .class가 해당 요소의 특성에서 참조될 때 ConfigurationBasedIssuerNameRegistry요소의 자식 요소 <issuerNameRegistry>trustedIssuers> 요소 아래에< 있는 RP 애플리케이션의 type 구성 파일에서 신뢰할 수 있는 발급자 목록을 지정할 수 있습니다. 아래는 <trustedIssuers> 요소, 각 발급자 이름은 해당 서명을 확인을 사용 해야 하는 X.509 인증서에 매핑됩니다.

사용자 지정 발급자 이름 레지스트리를 만들려면 재정의 해야 합니다는 IssuerNameRegistry.GetIssuerName(SecurityToken) 메서드. 이 메서드는 지정된 된 보안 토큰의 발급자 이름을 반환합니다. 선택적으로 재정의할 수는 IssuerNameRegistry.GetIssuerName(SecurityToken, String) 발급자 이름을 검색 하는 경우 힌트는 메커니즘을 제공 하는 방법 및 GetWindowsIssuerName 메서드는 Windows에 대 한 발급자 이름 토큰을 제공 하려는 경우와 다릅니다. DefaultIssuer합니다. 재정의 LoadCustomConfiguration 구성 파일에서 초기화할 발급자 이름 레지스트리를 사용 하도록 설정 하는 방법입니다.

생성자

IssuerNameRegistry()

IssuerNameRegistry 클래스의 새 인스턴스를 초기화합니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetIssuerName(SecurityToken)

파생 클래스에서 재정의되는 경우 지정된 보안 토큰의 발급자 이름을 반환합니다.

GetIssuerName(SecurityToken, String)

파생 클래스에서 재정의되는 경우 지정된 보안 토큰의 발급자 이름을 반환합니다. 지정된 발급자 이름은 반환할 발급자 이름을 결정하는 데 고려될 수 있습니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetWindowsIssuerName()

Windows 클레임에 사용될 기본 발급자 이름을 반환합니다.

LoadCustomConfiguration(XmlNodeList)

파생 클래스에서 재정의되는 경우 XML에서 사용자 지정 구성을 로드합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보