이 항목에서는 EAPHost Supplicant API에 대한 일반적인 질문에 대한 답변을 제공합니다.
"EapHostPeerInitialize" 및 "EapHostPeerUninitialize"를 호출해야 하는 이유는 무엇인가요?
EapHostPeerInitialize 및 EapHostPeerUninitialize 는 지원자와 EAPHost 간의 IPC(Interprocess 통신)에 사용되는 COM 환경을 초기화하고 초기화하지 않습니다.
STA(단일 스레드 아파트)에 대해 COM이 초기화된 스레드에서 호출해야 하는 함수는 무엇입니까?
EapHostPeerInvokeConfigUI, EapHostPeerInvokeInteractiveUI 및 EapHostAuthenticatorInvokeConfigUI 는 STA에 대해 COM이 초기화된 스레드에서 호출되어야 합니다. COM API CoInitialize를 호출하여 이 작업을 수행할 수 있습니다. 지원자가 STA 스레드로 완료된 경우 종료하기 전에 CoUninitialize 를 호출해야 합니다.
EAPHost는 키 지정 자료를 어떻게 내보내나요?
EAPHost EAP 메서드는 MPPE(Microsoft Point-to-Point Encryption) 키 형식으로 MSK(마스터 세션 키)를 지원자에 내보냅니다. MSK를 사용하여 지원자가 PMK(쌍 마스터 키)와 같은 추가 키 지정 자료를 생성할 수 있습니다. 인증 중에 다른 키를 생성하는 메서드의 경우 메서드는 해당 키를 공급업체별 특성으로 지원자에게 제공할 수 있습니다.
EMSK(확장 마스터 세션 키)란?
EMSK는 EAP 메서드에서 내보내는 추가 키 지정 자료입니다. EMSK의 길이는 64 옥텟 이상입니다. EMSK는 EAP 클라이언트와 서버 간에 공유되지만 인증자 또는 다른 타사와 공유되지 않습니다. 현재 EMSK는 향후 사용을 위해 예약되어 있습니다. 자세한 내용은 무선 LAN에 대한 확장 가능한 인증 프로토콜 EAP) 메서드 요구 사항을 참조하세요.
메서드는 언제 특성을 사용하거나 생성하나요?
EAP 메서드가 특성 또는 EMSK를 생성하는 경우 지원자는 특성을 사용합니다. 일반적으로 지원자가 사용하는 특성은 키입니다. 사용되는 특성은 eatPeerId, eatServerId, eatMethodId, eatEMSK 및 eatCredentialsChanged입니다. 자세한 내용은 EAP_ATTRIBUTE_TYPE 참조하세요. EAP 메서드는 다음과 같은 추가 애플리케이션별 EMSK 자료를 내보낼 수 있습니다.
- 세션 ID
- [네트워크 액세스 보호] (/windows/desktop/NAP/network-access-protection-start-page) (NAP)
802.1X는 어떤 특성을 사용하나요?
네이티브 무선 802.1X 지원자는 다음 EAPHost 인증 특성을 사용합니다.
- 암호 알림 변경
- MPPE(Microsoft Point to Point Encryption) 보내기/받기 키 VendorId/VendorType = 331/16 및 311/1
MPPE 키는 피어 및 인증자 모두에 의해 성공적인 인증이 끝날 때 생성되는 키입니다. 이러한 키는 802.1X 및 NAS(네트워크 액세스 서버)에서 보내고 받는 패킷을 암호화하고 암호 해독하는 데 사용됩니다.
EAPHost에서 EAP_PEER_FLAG_GUEST_ACCESS 플래그의 목적은 무엇인가요?
EAPHostPeerBeginSession에서 이 플래그를 설정하면 EAPHost는 이를 게스트 권한 부여 요청으로 해석하고 NULL ID 응답을 반환합니다. 이 응답은 지원자에게 전달되고 EAP 서버로 반환됩니다.
지원자는 컴퓨터 인증을 어떻게 요청하나요?
컴퓨터 인증은 EAP_FLAG_MACHINE_AUTH 플래그를 설정하여 요청됩니다.
지원자는 사용자 인증을 어떻게 요청하나요?
사용자 인증은 EAP_FLAG_MACHINE_AUTH 플래그를 설정하지 않음으로써 요청됩니다.
"EapHostFreeEapError" 함수 대신 "EapHostPeerFreeErrorMemory"는 언제 사용하나요?
EapHostPeerFreeErrorMemory 함수는 EAPHost 구성 API에서 반환된 EAP_ERROR 구조를 해제하는 데만 사용됩니다. EAPHost 구성 API는 EapHostPeerConfigApis.h에 정의되어 있습니다. 반면 EapHostPeerFreeEapError 함수는 EAPHost 런타임 API 에서 반환된 EAP_ERROR 구조를 해제하는 데 사용됩니다. EAPHost 런타임 API는 EapPApis.h에 정의되어 있습니다. API의 구성 버전과 함께 API의 런타임 버전을 사용하지 마세요. 이렇게 하면 예기치 않은 결과가 발생할 수 있습니다.
지원자에서 EAP 인증 세션을 처리하는 데 사용하는 것과 동일한 스레드에서 UI를 구현했습니다. 자격 증명 또는 다른 사용자 입력 데이터를 가져오기 위해 대화형 사용자 인터페이스 대화 상자를 설정한 후 EAP 피어 메서드에 대한 EAPHost의 다음 호출은 "ERROR_OBJECT_DISCONNECTED"와 함께 실패합니다. 이 문제가 발생한 이유는 무엇인가요? 어떻게 처리해야 하나요?
EAPHost 클라이언트 쪽 API는 모두 C 스타일 API이지만 이러한 C API는 해당 COM API의 래퍼일 뿐입니다. C 스타일 API는 다중 스레드 COM 환경에서 실행됩니다. UI 코드는 일반적으로 아파트 스레드 모델에서 실행됩니다. 두 스레드 모델이 서로 충돌하기 때문에 EAP 인증을 처리하는 동일한 스레드에서 UI 코드를 실행하지 마세요.
"EapHostPeerBeginSession" API가 "NotificationHandler" 콜백 함수 포인터를 매개 변수로 사용하는 이유는 무엇인가요?
NotificationHandler 는 지원자가 다시 인증해야 한다는 알림을 받는 메커니즘입니다. NAP( 네트워크 액세스 보호 )를 사용한 인증을 포함하여 다시 인증해야 하는 다양한 시나리오가 있습니다.
"EapHostPeerBeginSession" API에서 "pConnectionId" 매개 변수의 용도는 무엇인가요?
pConnectionId 는 지원자가 속한 네트워크 연결을 식별하는 데 사용되는 지원자 정의 GUID 값에 대한 포인터입니다. NotificationHandler 콜백 함수가 호출되면 이 GUID가 전달되어 지원자가 다시 인증 요청에 사용할 네트워크 연결을 식별합니다.
격리 상태가 변경되었는지 어떻게 할까요? 알고 있나요?
사용자는 시스템에 하나 이상의 NAP(네트워크 액세스 보호) QEC(격리 적용 클라이언트) 등록 인터페이스가 있는 경우에만 격리 상태 변경에 대한 시각적 알림을 받게 됩니다. 그렇다면 다시 인증을 시도하면 팝업 창을 통해 격리 상태 변경에 대한 알림이 사용자에게 표시됩니다.
시스템에 NAP QEC 등록 인터페이스가 있는지 어떻게 할까요? 알고 있나요?
관리자 권한 창을 열고 다음 netsh 명령을 실행합니다. "netsh nap client show state". 자세한 내용은 Netsh 명령을 참조하세요.
지원자가 다시 인증하는 경우 다시 인증하는 동안 QEC에서 사용해야 하는 연결 ID는 무엇인가요?
QEC는 이전 세션에 사용된 것과 동일한 연결 ID를 사용해야 합니다.
UI(사용자 인터페이스) 대화 상자를 표시하는 데 사용할 수 있는 EAPHost 지원 메서드는 하나뿐이지만 EAP 메서드에는 여러 유형의 UI별 호출이 있습니다. "EapHostPeerResponseInvokeUI" 작업 코드를 가져올 때 지원자가 UI 대화 상자를 표시해야 함을 나타내는 어떤 메서드를 호출해야 하나요?
EAPHost는 호출할 메서드 함수를 알고 있으므로 사용자가 작업이 필요하지 않습니다. instance 경우 작업 코드 EapHostPeerResponseInvokeUI가 반환되면 지원자는 EapHostPeerGetUIContext, EapHostPeerInvokeInteractiveUI 및 EapHostPeerSetUIContext 순서로 이러한 세 가지 함수를 호출합니다.
자격 증명 BLOB과 구성 BLOB의 차이점은 무엇인가요?
자격 증명 BLOB에는 사용자 이름, 암호 및 PIN과 같은 사용자 데이터만 포함됩니다. 구성 BLOB에는 메서드의 동작을 제어하는 설정이 포함되어 있습니다.
EAPHost 클라이언트 쪽에서 추적을 사용하도록 설정할 수 있나요?
예. 자세한 내용은 추적 사용을 참조하세요.