SecBuffer 구조체(sspi.h)

SecBuffer 구조는 보안 패키지에 전달하기 위해 전송 애플리케이션에서 할당한 버퍼를 설명합니다.

구문

typedef struct _SecBuffer {
  unsigned long cbBuffer;
  unsigned long BufferType;
#if ...
  char          *pvBuffer;
#else
  void SEC_FAR  *pvBuffer;
#endif
} SecBuffer, *PSecBuffer;

멤버

cbBuffer

pvBuffer 멤버가 가리키는 버퍼의 크기(바이트)를 지정합니다.

BufferType

버퍼 유형을 나타내는 비트 플래그입니다. BufferType 은 다음 플래그 중 하나여야 합니다.

의미
SECBUFFER_ALERT
17(0x11)
버퍼에 경고 메시지가 포함되어 있습니다.
SECBUFFER_ATTRMASK
4026531840(0xF0000000)
버퍼에는 SECBUFFER_READONLY_WITH_CHECKSUM 버퍼에 대한 비트 마스크가 포함되어 있습니다.
SECBUFFER_CHANNEL_BINDINGS
14(0xE)
버퍼에는 채널 바인딩 정보가 포함됩니다.
SECBUFFER_CHANGE_PASS_RESPONSE
15(0xF)
버퍼에는 DOMAIN_PASSWORD_INFORMATION 구조체가 포함되어 있습니다.
SECBUFFER_DATA
1(0x1)
버퍼에는 공통 데이터가 포함됩니다. 예를 들어 보안 패키지는 이 데이터를 읽고 작성하여 일부 또는 전부를 암호화할 수 있습니다.
SECBUFFER_DTLS_MTU
24(0x18)
버퍼에는 DTLS에 대해서만 MTU(최대 전송 단위) 크기에 대한 설정이 포함되어 있습니다. 기본값은 1096이고 유효한 구성 가능한 범위는 200에서 64*1024 사이입니다.
SECBUFFER_EMPTY
0(0x0)
버퍼 배열의 자리 표시자입니다. 호출자는 배열에 이러한 여러 항목을 제공할 수 있으며 보안 패키지는 해당 항목에 정보를 반환할 수 있습니다. 자세한 내용은 SSPI 컨텍스트 의미 체계를 참조하세요.
SECBUFFER_EXTRA
5(0x5)
보안 패키지는 이 값을 사용하여 메시지의 추가 바이트 또는 처리되지 않은 바이트 수를 나타냅니다.
SECBUFFER_MECHLIST
11(0xB)
버퍼에는 프로토콜별 개체 식별자 목록(OID)이 포함되어 있습니다. 일반적으로 호출자에게는 관심이 없습니다.
SECBUFFER_MECHLIST_SIGNATURE
12(0xC)
버퍼에는 SECBUFFER_MECHLIST 버퍼의 서명이 포함되어 있습니다. 일반적으로 호출자에게는 관심이 없습니다.
SECBUFFER_MISSING
4(0x4)
보안 패키지는 이 값을 사용하여 특정 메시지에서 누락된 바이트 수를 나타냅니다. pvBuffer 멤버는 이 형식에서 무시됩니다.
SECBUFFER_PKG_PARAMS
3(0x3)
이러한 매개 변수는 전송-패키지별 매개 변수입니다. 예를 들어 NetWare 리디렉터는 서버 개체 식별자를 제공할 수 있지만 DCE RPC는 연결 UUID 등을 제공할 수 있습니다.
SECBUFFER_PRESHARED_KEY
22(0x16)
버퍼에는 미리 공유된 키가 포함됩니다. 허용되는 최대 PSK 버퍼 크기는 256바이트입니다.
SECBUFFER_PRESHARED_KEY_IDENTITY
23(0x17)
버퍼에는 미리 공유된 키 ID가 포함됩니다.
SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER
20(0x14)
버퍼에는 SRTP master 키 식별자가 포함됩니다.
SECBUFFER_SRTP_PROTECTION_PROFILES
19(0x13)
버퍼에는 기본 설정의 내림차순으로 SRTP 보호 프로필 목록이 포함됩니다.
SECBUFFER_STREAM_HEADER
7(0x7)
버퍼에는 특정 레코드에 대한 프로토콜별 헤더가 포함되어 있습니다. 일반적으로 호출자에게는 관심이 없습니다.
SECBUFFER_STREAM_TRAILER
6(0x6)
버퍼에는 특정 레코드에 대한 프로토콜별 트레일러가 포함되어 있습니다. 일반적으로 호출자에게는 관심이 없습니다.
SECBUFFER_TARGET
13(0xD)
이 플래그는 예약되어 있습니다. 이 메서드를 사용하지 마십시오.
SECBUFFER_TARGET_HOST
16(0x10)
버퍼는 대상의 SPN( 서비스 사용자 이름 )을 지정합니다.

이 값은 채널 바인딩과 함께 사용할 때 다이제스트 보안 패키지에서 지원됩니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SECBUFFER_TOKEN
2(0x2)
버퍼에는 메시지의 보안 토큰 부분이 포함됩니다. 입력 매개 변수의 경우 읽기 전용이거나 출력 매개 변수의 경우 읽기/쓰기가 가능합니다.
SECBUFFER_TOKEN_BINDING
21(0x15)
버퍼에는 기본 설정의 내림차순으로 지원되는 토큰 바인딩 프로토콜 버전 및 키 매개 변수가 포함됩니다.
SECBUFFER_APPLICATION_PROTOCOLS
18
버퍼에는 사용하도록 설정할 애플리케이션 프로토콜 협상 확장 유형당 하나의 목록인 애플리케이션 프로토콜 ID 목록이 포함되어 있습니다.
 

또한 BufferType 은 비트 OR 연산을 사용하여 다음 플래그를 이전 테이블의 플래그와 결합할 수 있습니다.

의미
SECBUFFER_READONLY
2147483648(0x80000000)
버퍼는 체크섬 없이 읽기 전용입니다. 이 플래그는 체크섬을 계산하기 위해 보안 패키지에 헤더 정보를 보내기 위한 것입니다. 패키지는 이 버퍼를 읽을 수 있지만 수정할 수는 없습니다.
SECBUFFER_READONLY_WITH_CHECKSUM
268435456(0x10000000)
버퍼는 체크섬을 사용하여 읽기 전용입니다.

pvBuffer

버퍼에 대한 포인터입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1 [데스크톱 앱만 해당]
지원되는 최소 서버 R2 Windows Server 2012 [데스크톱 앱만 해당]
머리글 sspi.h(Security.h 포함)

추가 정보

SecBufferDesc