다음을 통해 공유


AsymmetricSecurityBindingElement 클래스

정의

비대칭 암호화를 사용하여 채널 보안을 지원하는 사용자 지정 바인딩 요소를 나타냅니다. 이 바인딩 요소는 발신자의 인증 토큰을 사용하여 메시지에 서명하고 수신자의 토큰을 사용하여 메시지를 암호화합니다.

public ref class AsymmetricSecurityBindingElement sealed : System::ServiceModel::Channels::SecurityBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class AsymmetricSecurityBindingElement : System.ServiceModel.Channels.SecurityBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type AsymmetricSecurityBindingElement = class
    inherit SecurityBindingElement
    interface IPolicyExportExtension
Public NotInheritable Class AsymmetricSecurityBindingElement
Inherits SecurityBindingElement
Implements IPolicyExportExtension
상속
AsymmetricSecurityBindingElement
구현

예제

다음 예제에서는 이 클래스를 사용하여, 이 클래스를 보안 바인딩 요소로 포함하는 사용자 지정 바인딩을 만드는 방법을 보여 줍니다. 이 예제의 코드에 대 한 자세한 내용은 참조 하세요. 방법: 일관성 있게 X.509 인증서를 참조합니다.

public Binding CreateClientBinding()
{
    AsymmetricSecurityBindingElement abe =
        (AsymmetricSecurityBindingElement)SecurityBindingElement.
        CreateMutualCertificateBindingElement(
        MessageSecurityVersion.
        WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10);

    abe.SetKeyDerivation(false);

    X509SecurityTokenParameters istp =
       abe.InitiatorTokenParameters as X509SecurityTokenParameters;
    if (istp != null)
    {
        istp.X509ReferenceStyle =
        X509KeyIdentifierClauseType.IssuerSerial;
    }
    X509SecurityTokenParameters rstp =
    abe.RecipientTokenParameters as X509SecurityTokenParameters;
    if (rstp != null)
    {
        rstp.X509ReferenceStyle =
        X509KeyIdentifierClauseType.IssuerSerial;
    }

    HttpTransportBindingElement transport =
        new HttpTransportBindingElement();

    return new CustomBinding(abe, transport);
}
Public Function CreateClientBinding() As Binding
    Dim abe As AsymmetricSecurityBindingElement = CType(SecurityBindingElement.CreateMutualCertificateBindingElement(MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10), AsymmetricSecurityBindingElement)

    abe.SetKeyDerivation(False)

    Dim istp As X509SecurityTokenParameters = TryCast(abe.InitiatorTokenParameters, X509SecurityTokenParameters)
    If istp IsNot Nothing Then
        istp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
    End If
    Dim rstp As X509SecurityTokenParameters = TryCast(abe.RecipientTokenParameters, X509SecurityTokenParameters)
    If rstp IsNot Nothing Then
        rstp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
    End If

    Dim transport As New HttpTransportBindingElement()

    Return New CustomBinding(abe, transport)
End Function

설명

사용자 지정 바인딩에는 특정 순서로 정렬된 바인딩 요소 컬렉션이 포함됩니다. 바인딩 스택의 최상위를 나타내는 요소가 가장 먼저 추가되고, 그 다음 요소가 두 번째로 추가되며 나머지 요소도 차례대로 추가됩니다.

바인딩에 이 클래스를 추가하려면

  1. BindingElementCollection를 만듭니다.

  2. 선택적인 TransactionFlowBindingElementReliableSessionBindingElement처럼 바인딩 스택에서 이 바인딩 요소의 위에 오는 사용자 지정 바인딩 요소를 만듭니다.

  3. BindingElementCollection 메서드를 사용하여 생성된 요소를 위의 순서대로 InsertItem(Int32, BindingElement)에 추가합니다.

  4. AsymmetricSecurityBindingElement의 인스턴스를 만들어 컬렉션에 추가합니다.

  5. TcpTransportBindingElement와 같은 추가 사용자 지정 바인딩 요소를 컬렉션에 추가합니다.

이 클래스를 사용하기 전에 표준 바인딩이 보안 요구 사항을 충족하는지를 확인해야 합니다.

참고

이 개체의 인스턴스를 만든 후에는 SecurityBindingElement 기본 클래스의 속성을 변경할 수 없습니다. 일부 속성에서 set를 호출하면 의도하지 않은 결과가 발생하여 바인딩이 이전 속성 값을 가진 것처럼 동작하고 겉으로는 런타임 오류만 발생합니다. 이렇게 동작하는 것으로 알려진 속성에는 KeyType 속성과 MessageSecurityVersion 속성이 있으며, 다른 속성도 해당될 수 있습니다.

생성자

AsymmetricSecurityBindingElement()

이 클래스의 인스턴스를 만듭니다.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

지정된 수신자 토큰 매개 변수를 사용하여 AsymmetricSecurityBindingElement의 새 인스턴스를 초기화합니다.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

지정된 수신자 및 개시자 토큰 매개 변수를 사용하여 AsymmetricSecurityBindingElement의 새 인스턴스를 초기화합니다.

속성

AllowInsecureTransport

HTTP와 같은 보안되지 않은 전송을 통해 혼합 모드의 보안 메시지를 보낼 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
AllowSerializedSigningTokenOnReply

회신 메시지의 서명 토큰에 대한 serialization을 허용할지 여부를 나타내는 값을 가져오거나 설정합니다.

DefaultAlgorithmSuite

메시지 암호화 및 키 랩 알고리즘을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
EnableUnsecuredResponse

WCF에서 보안 요청에 대한 보안되지 않은 응답을 보내고 받을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
EndpointSupportingTokenParameters

토큰 매개 변수를 지원하는 엔드포인트를 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
IncludeTimestamp

타임스탬프가 각 메시지에 포함되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
InitiatorTokenParameters

개시자에 대한 토큰 정의를 지정합니다.

KeyEntropyMode

키를 만드는 데 사용되는 엔트로피의 소스를 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
LocalClientSettings

클라이언트에서 사용하는 로컬 보안 설정에 대한 바인딩 속성을 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
LocalServiceSettings

서비스에서 사용하는 로컬 보안 설정에 대한 바인딩 속성을 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
MessageProtectionOrder

이 바인딩의 메시지 암호화 및 서명 순서를 가져오거나 설정합니다.

MessageSecurityVersion

메시지 보안 버전을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
OperationSupportingTokenParameters

토큰 매개 변수를 지원하는 작업 컬렉션을 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

서비스 엔드포인트에 대한 선택적인 지원 토큰 매개 변수를 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
OptionalOperationSupportingTokenParameters

토큰 매개 변수를 지원하는 선택적인 작업 컬렉션을 가져옵니다.

(다음에서 상속됨 SecurityBindingElement)
ProtectTokens

보안 바인딩 요소가 토큰을 보호하는지 여부를 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)
RecipientTokenParameters

수신자에 대한 토큰 정의를 지정합니다.

RequireSignatureConfirmation

메시지 서명을 확인해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

SecurityHeaderLayout

이 바인딩의 보안 헤더에 있는 요소의 순서를 가져오거나 설정합니다.

(다음에서 상속됨 SecurityBindingElement)

메서드

BuildChannelFactory<TChannel>(BindingContext)

전달된 바인딩 컨텍스트와 SecurityBindingElement 설정을 기반으로 채널 팩터리를 만듭니다. 생성되는 채널 팩터리는 전송 채널 팩터리를 포함하는 바인딩 컨텍스트에 해당하는 채널 팩터리를 내부적으로 참조하는 SOAP 메시지 보안 채널 팩터리입니다.

(다음에서 상속됨 SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

구현될 경우 지정된 형식의 채널 팩터리를 만듭니다.

(다음에서 상속됨 SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

전달된 바인딩 컨텍스트와 SecurityBindingElement 설정을 기반으로 채널 수신기를 만듭니다.

(다음에서 상속됨 SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

구현될 경우 지정된 형식의 채널 수신기를 만듭니다.

(다음에서 상속됨 SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

지정된 형식의 채널 팩터리를 생성할 수 있는지 여부를 결정합니다.

(다음에서 상속됨 SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

지정된 형식의 채널 수신기를 생성할 수 있는지 여부를 결정합니다.

(다음에서 상속됨 SecurityBindingElement)
Clone()

현재 인스턴스에서 초기화되는 이 클래스의 새 인스턴스를 만듭니다.

Equals(Object)

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

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

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

(다음에서 상속됨 Object)
GetProperty<T>(BindingContext)

BindingContext에서 지정된 개체를 가져옵니다.

GetType()

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

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

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

(다음에서 상속됨 Object)
SetKeyDerivation(Boolean)

파생 키가 필요한지 여부를 나타내는 값을 설정합니다.

ToString()

AsymmetricSecurityBindingElement 인스턴스를 나타내는 문자열을 반환합니다.

명시적 인터페이스 구현

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

WSDL(웹 서비스 설명 언어) 정보에 추가되는 바인딩에 대한 사용자 지정 정책 어설션을 내보냅니다.

적용 대상