매개자
중개자는 클라이언트 애플리케이션과 통신하여 인증서 요청을 제출할 수 있도록 하고(요청으로 인해 발급된 인증서가 발생한다고 가정) 발급된 인증서를 클라이언트에 다운로드합니다. 각 전송 계층 프로토콜에는 자체 중개자가 필요합니다.
Microsoft Certificate Services는 HTTP용 중간자(웹 등록 페이지)와 함께 제공됩니다. 중간자의 또 다른 예는 Microsoft Windows 인증서 MMC 스냅인입니다(인증서 요청 마법사를 호출할 수 있도록 허용). 다른 전송 계층 프로토콜을 Certificate Services와 함께 사용하는 경우 개발자는 원하는 각 전송 계층 프로토콜에 대한 중간자를 만들 수 있습니다.
중간자 서버 엔진에서 제공 하는 ICertRequest 및 ICertConfig 인터페이스를 사용 하 여 인증서 서비스와 통신 합니다. ICertRequest::Submit 메서드는 인증서 요청을 제출하는 데 사용되며, ICertRequest::GetCertificate는 발급된 인증서를 가져오는 데 사용됩니다. 마찬가지로 ICertConfig::GetConfig 는 인증서를 발급하는 데 사용할 수 있는 인증 기관을 결정하는 데 사용됩니다.
중간은 언어에 종속되지 않습니다. C++, Visual Basic, Java, 스크립트 또는 다른 언어로 작성된 프로그램일 수 있습니다.
클라이언트에서 데이터를 수집하여 인증서 요청을 빌드하는 것 외에도 중개자는 요청 특성을 지정할 수 있습니다. 엔터프라이즈 정책 모듈을 실행하는 인증 기관에 제출된 요청은 요청 자체에서 "CertificateTemplate" 특성 또는 인증서 템플릿 확장을 지정하여 요청된 인증서 유형을 나타내야 합니다.
인증서 요청을 만드는 동안 개발자(및 중개자)는 프라이빗 키의 비밀을 유지할 책임이 있습니다. 프라이빗 키가 손상(비밀 유지 손실)된 후에는 쓸모가 없습니다.
인증서 서비스 웹 등록 페이지에서는 인증서 등록 인터페이스를 사용하여 워크스테이션에서 프라이빗 키를 생성하여 보호합니다. 프라이빗 키의 비밀을 유지하는 것 외에도 인증서 등록 제어를 사용하면 중개자가 암호화 서비스 공급자, 키 사양, 키 강도 및 해시 알고리즘을 지정할 수 있습니다.
인증서 MMC 스냅인은 인증서 등록 제어(Xenroll.dll)도 사용합니다. 그러나 필요한 경우 인증서 서비스 웹 등록 페이지에서 인증서 등록 제어 리소스(Xenroll.dll)를 클라이언트에 다운로드하도록 하는 경우 인증서 MMC 스냅인은 Xenroll.dll 이미 사용 가능한 리소스인 환경에서 실행됩니다.
ICertRequest 및 ICertConfig 외에도 중개자 개발자는 인증서 등록 인터페이스 및 스마트 카드 등록 제어가 유용할 수 있습니다.