Share via


IX509CertificateRequest::Encode 메서드(certenroll.h)

인코딩 메서드는 인증서 요청을 서명하고 인코딩하고 키 쌍이 없으면 만듭니다. 요청은 ASN.1(추상 구문 표기법 1) 표준에 정의된 대로 DER(Distinguished Encoding Rules)를 사용하여 인코딩됩니다. 인코딩 프로세스는 바이트 배열을 만듭니다. RawData 속성을 호출하여 바이트 배열을 검색할 수 있습니다.

구문

HRESULT Encode();

반환 값

함수가 성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

반환 코드/값 설명
CERTSRV_E_ARCHIVED_KEY_REQUIRED
CMC 요청에 대해 ArchivePrivateKey 속성이 설정되었지만 키 교환 인증서를 찾을 수 없습니다.
OLE_E_BLANK
개체가 초기화되지 않았습니다.

설명

PKCS #10 요청의 경우 이 메서드는 다음과 같습니다.

  • 프라이빗 키를 업데이트 필요한 경우 키를 만듭니다.
  • 프라이빗 키에서 공개 키를 채웁니다.
  • 확장을 업데이트 기본 확장을 추가하고 표시되지 않는 OID 컬렉션 및 중요한 확장 OID 컬렉션을 고려합니다.
  • 특성을 업데이트 기본 특성을 추가하고 표시되지 않는 OID 컬렉션을 고려합니다.
  • 서명되지 않은 업데이트된 요청을 어셈블하고 인코딩합니다.
  • 서명을 만들고 인코딩합니다.
  • 서명 및 서명되지 않은 요청을 인코딩합니다.

CMC 요청의 경우 이 메서드는 다음과 같습니다.

  • 모든 내부 요청 개체를 인코딩합니다.
  • 외부 요청 개체에 대한 확장을 업데이트 기본 확장을 추가하고 표시되지 않는 OID 컬렉션 및 중요한 확장 OID 컬렉션을 고려합니다.
  • 외부 요청 개체의 특성을 업데이트 기본 특성을 추가하고 표시되지 않는 OID 컬렉션을 고려합니다.
  • 이름-값 쌍 컬렉션을 업데이트.
  • 인코딩된 내부 요청 및 업데이트된 외부 요청으로 구성된 CMC 콘텐츠를 인코딩합니다.
  • 각 서명 인증서에 대한 서명을 만들고 인코딩합니다.
  • 기본 서명을 만들고 인코딩합니다.
  • 인코딩된 CMC 콘텐츠(내부 요청 및 업데이트된 외부 요청 포함) 및 인코딩된 서명을 어셈블합니다.
  • 어셈블리된 콘텐츠를 PKCS #7 메시지로 인코딩합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h
DLL CertEnroll.dll

추가 정보

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation