WsUtil 컴파일러 도구

WsUtil.exe Windows Web Services 컴파일러 도구는 서비스 모델 및 데이터 형식의 serialization 을 지원합니다. WSDL, XML 스키마 및 정책 문서를 처리하고 C 헤더 및 원본 파일을 생성합니다. 이 도구는 관리 코드용 WSDL 컴파일러 도구와 비슷하지만 대신 네이티브 코드를 대상으로 합니다.

서비스 모델을 지원하기 위해 WsUtil.exe 클라이언트와 서비스 모두에 사용할 헤더를 생성합니다. 필요에 따라 클라이언트 쪽에 대한 C 프록시 파일과 서비스 쪽에 대한 C 스텁 파일을 생성합니다.

serialization을 지원하기 위해 컴파일러는 전역 요소 정의에 대한 요소 설명에 대한 헤더와 serialization 엔진에서 사용하는 프록시 파일의 모든 형식 정의 정보를 생성합니다.

WSDL 파일, XML 스키마 파일 및 웹 서비스 정책 파일을 처리하기 위한 명령줄 옵션은 다음 topics 참조하세요.

보안

WsUtil을 사용하는 경우 다음 문제를 인식하고 적절한 예방 조치를 준수해야 합니다.

  • Wsutil은 네트워크를 통해 XML 메타데이터를 검색하지 않으며 wsutil은 입력 메타데이터 파일에 문을 가져오거나 포함할 resolve 없습니다. Wsutil이 열리고 wsdl, xsd 및 정책 파일을 읽습니다. XML 메타데이터는 변조 방지가 되지 않습니다. 신뢰할 수 있는 원본에서 wsdl, xsd 및 정책 파일만 사용하는지 확인하고 사용 전후에 파일이 변조되지 않도록 보호해야 합니다. 입력 파일의 내용을 주의 깊게 검토하고 파일 내용이 애플리케이션에서 사용하기에 안전한지 확인합니다. Wsutil.exe 메타데이터 파일의 신뢰성을 검증하지 않습니다.
  • Wsutil은 변조 방지가 되지 않는 헤더 및 스텁 파일을 생성합니다. 해당 파일에 대한 무단 액세스를 방지하려면 wsutil.exe 생성된 원본 파일에 대해 올바른 수준의 액세스 권한을 설정해야 합니다. Wsutil은 System.IO.StreamWriter를 사용하여 출력 파일을 만듭니다.
  • 사용자는 Wsutil이 로컬 파일을 덮어쓸 수 있음을 알고 있어야 하며 /out 스위치를 사용하여 출력 파일에 안전한 파일 이름과 디렉터리를 지정해야 합니다.
  • wsutil.exe 로드된 Wsutil 또는 wsutilhelper.dll 공격을 받거나 매우 많은 양의 입력 메타데이터를 처리할 때 예기치 않게 종료되거나 많은 양의 시스템 리소스를 사용할 수 있습니다. 이 도구는 개발 시간 동안에만 사용하도록 설계되었습니다. 이 도구는 개발 시간 도구로만 사용해야 합니다. 중간 계층에서 정책 정보를 처리하는 것은 안전하지 않을 수 있습니다.
  • Wsutilhelper.dll 도우미 DLL은 정책 정보를 처리하기 위해 관리되는 wsutil.exe 로드됩니다. 사용자는 이진 경로에 동일한 파일 이름을 가진 악성 이진 파일이 없는지 확인해야 합니다. 마찬가지로 사용자는 빌드 환경에서 동일한 "wsutil.exe" 이름의 악의적인 이진 파일이 없도록 이진 경로가 올바르게 설정되었는지 확인해야 합니다.
  • Wsutil은 가능한 경우 작업 및 구조 필드에 대한 SAL 주석을 생성합니다. wsutil 생성 파일의 사용자는 SAL 주석을 통해 지정된 요구 사항을 따라야 합니다.

서비스 모델 계층 개요

serialization

웹 서비스 컴파일러 도구

WSDL 지원

스키마 지원

정책 지원