IX509CertificateRequestPkcs7 인터페이스(certenroll.h)
IX509CertificateRequestPkcs7 인터페이스는 PKCS #7 CMS(인증서 메시지 구문) 개체를 나타냅니다. PKCS #7은 공개 키 인증서를 요청하기 위해 인증 또는 등록 기관에 전송된 메시지의 형식을 정의합니다. IX509CertificateRequestPkcs7 인터페이스는 구현이 대부분의 보안 전문가가 PKCS #7 표준에 대해 생각하는 방식과 완벽하게 미러 않기 때문에 혼동될 수 있습니다. 이러한 혼동을 방지하려면 다음 사항에 유의하세요.
- CMC 요청을 래핑하는 데 PKCS #7 메시지가 사용되지만 IX509CertificateRequestPkcs7 개체에는 IX509CertificateRequestCmc 개체가 포함될 수 없습니다. 대신 IX509CertificateRequestCmc 인터페이스는 IX509CertificateRequestPkcs7 인터페이스를 상속하고 구현합니다. 따라서 구현된 CMC 요청은 CMC 콘텐츠, null 서명 또는 키 기반의 기본 서명, 인증서 기반 서명이 0개 이상 포함된 PKCS #7 SignedData 개체입니다. 반면, PKCS #7 요청은 PKCS #10 콘텐츠(이 목록의 다음 항목 참조)를 포함하고 정확히 하나의 인증서 기반 서명을 포함하는 SignedData 개체입니다.
- IX509CertificateRequestPkcs7에는 IX509CertificateRequestPkcs10 개체가 포함되어야 합니다. PKCS #7 메시지에서 PKCS #10 요청을 래핑할 때의 기본 이점은 여러 서명자를 추가하는 기능입니다. PKCS #10 요청은 연결된 프라이빗 키로 서명되고 PKCS #10 요청을 래핑하는 PKCS #7 메시지도 서명됩니다. 이 두 번째 서명자는 갱신 중인 인증서(갱신 요청의 경우) 또는 등록 에이전트 인증서(대신 등록 요청의 경우)를 사용합니다.
- IX509CertificateRequestPkcs7 개체에 래핑하지 않고 독립 실행형 IX509CertificateRequestPkcs10 인증서 요청을 만들고 등록할 수 있습니다.
다음 구문 예제에서 PKCS #7 개체의 ASN.1 표현은 다양한 데이터 형식으로 구성될 수 있음을 보여줍니다.
PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
{
data | signed-data | enveloped-data | signed-and-enveloped-data |
digested-data | encrypted-data | authenticated-data, ...
}
이 중 아래에 표시된 SignedData 개체가 가장 관련이 있습니다. SignedData 개체에서 참조되는 SignerInfo 개체에는 서명 정보가 포함됩니다. 자세한 내용은 PKCS #7 특성을 참조하세요.
-------------------------------------------------------------------
-- signed-data
-------------------------------------------------------------------
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature SignatureValue,
unauthenticatedAttributes [1] IMPLICIT Attributes
}
상속
IX509CertificateRequestPkcs7 인터페이스는 IX509CertificateRequest에서 상속됩니다. IX509CertificateRequestPkcs7 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IX509CertificateRequestPkcs7 인터페이스에는 이러한 메서드가 있습니다.
IX509CertificateRequestPkcs7::get_RequesterName 인증서를 요청하는 최종 엔터티의 SAM(보안 계정 관리자) 이름이 포함된 문자열을 지정하거나 검색합니다. (Get) |
IX509CertificateRequestPkcs7::get_SignerCertificate 인증서 요청에 서명하는 데 사용되는 인증서를 지정하거나 검색합니다. (Get) |
IX509CertificateRequestPkcs7::InitializeDecode 기존 서명되거나 서명되지 않은 PKCS(IX509CertificateRequestPkcs7.InitializeDecode)를 디코딩합니다. |
IX509CertificateRequestPkcs7::InitializeFromCertificate 기존 인증서를 사용하여 인증서 요청을 초기화합니다. (IX509CertificateRequestPkcs7.InitializeFromCertificate) |
IX509CertificateRequestPkcs7::InitializeFromInnerRequest 내부 PKCS에서 인증서 요청을 초기화합니다. |
IX509CertificateRequestPkcs7::InitializeFromTemplateName 템플릿을 사용하여 인증서 요청을 초기화합니다. (IX509CertificateRequestPkcs7.InitializeFromTemplateName) |
IX509CertificateRequestPkcs7::p ut_RequesterName 인증서를 요청하는 최종 엔터티의 SAM(보안 계정 관리자) 이름이 포함된 문자열을 지정하거나 검색합니다. (Put) |
IX509CertificateRequestPkcs7::p ut_SignerCertificate 인증서 요청에 서명하는 데 사용되는 인증서를 지정하거나 검색합니다. (Put) |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certenroll.h |