다음을 통해 공유


WsCreateXmlSecurityToken 함수(webservices.h)

지정된 XML 양식에서 보안 토큰을 만듭니다.

구문

HRESULT WsCreateXmlSecurityToken(
  [in]           WS_XML_BUFFER                        *tokenXml,
  [in, optional] WS_SECURITY_KEY_HANDLE               *tokenKey,
                 const WS_XML_SECURITY_TOKEN_PROPERTY *properties,
  [in]           ULONG                                propertyCount,
                 WS_SECURITY_TOKEN                    **token,
  [in, optional] WS_ERROR                             *error
);

매개 변수

[in] tokenXml

XML 형식의 보안 토큰을 포함하는 WS_XML_BUFFER 구조체에 대한 포인터입니다. 참조된 버퍼에는 정확히 하나의 최상위 XML 요소가 있어야 합니다.

[in, optional] tokenKey

암호화 소유 증명 키를 포함하거나 포함하지 않을 수 있는 SECURITY_KEY_HANDLE 구조체에 대한 포인터입니다. 있는 경우 키를 사용하여 이 보안 토큰을 메시지에 바인딩할 수 있습니다. tokenKey 매개 변수의 값이 NULL이 아니면 토큰에 소유 증명 키가 있는 것으로 간주됩니다. 값이 NULL인 경우 구조체는 아래에 정의된 대로 "전달자 토큰"으로 간주됩니다.

  • 기본 또는 키 없는 토큰이라고도 하는 전달자 토큰은 메시지의 토큰 소유를 보여주고 토큰의 클레임을 해당 메시지에 적용하려는 의도를 나타내기 위해 메시지에 직렬화됩니다.
  • PoP 또는 암호화 토큰이라고도 하는 소유 증명 토큰에는 토큰의 소유를 입증하고 토큰의 클레임을 해당 메시지에 적용하려는 의도를 나타내기 위해 메시지를 "서명"하는 데 사용해야 하는 관련 암호화 키가 있습니다. 예를 들어 X.509 인증서가 있습니다. 수신 주체가 인증서에 있는 클레임을 전달하는 것으로 메시지를 수락하려면 메시지가 인증서의 프라이빗 키로 서명되어야 합니다.

properties

XML 보안 토큰에 대한 선택적 속성을 포함하는 WS_XML_SECURITY_TOKEN_PROPERTY 구조체의 배열입니다.

이 매개 변수의 값은 NULL일 수 있습니다. 이 경우 propertyCount 매개 변수는 0이어야 합니다.

[in] propertyCount

속성 배열의 속성 수입니다.

token

성공하면 생성된 XML 보안 토큰을 나타내는 WS_SECURITY_TOKEN 구조체의 주소를 받는 포인터입니다.

이 구조체가 더 이상 필요하지 않은 경우 WsFreeSecurityToken을 호출하여 해제해야 합니다.

반환된 보안 토큰은 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING 사용할 수 있습니다.

서비스에 제공됩니다.

[in, optional] error

함수가 실패할 경우 추가 오류 정보를 수신하는 WS_ERROR 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 NO_ERROR 반환합니다. 그렇지 않으면 HRESULT 오류 코드가 반환됩니다.

반환 코드 설명
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.
기타 오류
이 함수는 위에 나열되지 않은 다른 오류를 반환할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 webservices.h
라이브러리 WebServices.lib
DLL WebServices.dll