다음을 통해 공유


ISignerCertificate 인터페이스(certenroll.h)

ISignerCertificate 인터페이스는 인증서 요청에 서명할 수 있는 서명 인증서를 나타냅니다. 인터페이스를 초기화할 때 인증서 등록 컨트롤은 개인 저장소에서 서명 인증서를 검색하고 이를 사용하여 연결된 프라이빗 키를 찾습니다. 프라이빗 키를 사용하여 PKCS #7 또는 CMC 요청에 서명할 수 있지만 PKCS #10 요청에는 서명할 수 없습니다. PKCS #10 요청은 요청에 포함된 공개 키와 연결된 프라이빗 키를 사용하여 서명해야 합니다. 자체 서명된 인증서는 요청과 연결된 프라이빗 키 또는 서명 인증서와 연결된 프라이빗 키를 사용하여 서명할 수 있습니다. 다음 표에 요약되어 있습니다.

요청 유형(인터페이스) 서명 인증서
PKCS #7(IX509CertificateRequestPkcs7) 1
PKCS #10(IX509CertificateRequestPkcs10) 0
CMC(IX509CertificateRequestCmc) 0개 이상
자체 서명(IX509CertificateRequestCertificate) 0 또는 1
 

CMC 요청에 서명할 때 서명할 데이터는 CMS SignedData 개체에 래핑된 DISTINGUISHED ENCODING RULES(DER) 인코딩된 CmcData 개체로 구성됩니다. SignerInfo 개체의 encryptedDigest 필드에는 서명이 포함되며 여러 SignerInfo 개체를 요청과 연결할 수 있습니다.


---------------------------------------------------------------------
-- CMC request data
---------------------------------------------------------------------

CmcData ::= SEQUENCE 
{
controlSequence     SEQUENCE OF TaggedAttribute,
reqSequence         SEQUENCE OF TaggedRequest,
cmsSequence         SEQUENCE OF TaggedContentInfo,
otherMsgSequence    SEQUENCE OF TaggedOtherMs
}

---------------------------------------------------------------------
-- SignedData object that wraps the CMC request
---------------------------------------------------------------------

SignedData ::= SEQUENCE 
{
   version             INTEGER,
   digestAlgorithms    DigestAlgorithmIdentifiers,
   contentInfo         ContentInfo,
   certificates        [0] IMPLICIT Certificates OPTIONAL,
   crls                [1] IMPLICIT CertificateRevocationLists OPTIONAL,
   signerInfos         SignerInfos
}

DigestAlgorithmIdentifiers ::=  SET OF DigestAlgorithmIdentifier 
DigestAlgorithmIdentifiersNC ::= SET OF DigestAlgorithmIdentifierNC

SignerInfos ::= SET OF SignerInfo

SignerInfo ::= SEQUENCE 
{
    version                     INTEGER,
    sid                         CertIdentifier,
    digestAlgorithm             DigestAlgorithmIdentifier,
    authenticatedAttributes     [0] IMPLICIT Attributes OPTIONAL,
    digestEncryptionAlgorithm   DigestEncryptionAlgId,
    encryptedDigest             EncryptedDigest,
    unauthenticatedAttributes   [1] IMPLICIT Attributes OPTIONAL
}

ISignerCertificate 개체는 사용되는 해시 및 공개 키 알고리즘을 식별하는 하나의 IX509SignatureInformation 개체와 연결됩니다. 이 개체는 ISignerCertificate 개체가 초기화될 때 만들어지고 초기화됩니다.

상속

ISignerCertificate 인터페이스는 IDispatch 인터페이스에서 상속됩니다. ISignerCertificate 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

ISignerCertificate 인터페이스에는 이러한 메서드가 있습니다.

 
ISignerCertificate::get_Certificate

인증서를 포함하는 DER(Distinguished Encoding Rules) 인코딩된 바이트 배열을 검색합니다.
ISignerCertificate::get_ParentWindow

서명 인증서 정보를 표시하는 데 사용되는 창의 ID를 지정하거나 검색합니다. (Get)
ISignerCertificate::get_PrivateKey

ISignerCertificate 개체와 연결된 프라이빗 키를 검색합니다.
ISignerCertificate::get_SignatureInformation

인증서 서명에 대한 정보가 포함된 IX509SignatureInformation 개체를 검색합니다.
ISignerCertificate::get_Silent

프라이빗 키를 사용하여 인증서 요청에 서명할 때 사용자에게 알림을 받을지 여부를 나타내는 부울 값을 지정하거나 검색합니다. (Get)
ISignerCertificate::get_UIContextMessage

서명 인증서와 연결된 사용자 인터페이스 텍스트가 포함된 문자열을 지정하거나 검색합니다. (Get)
ISignerCertificate::Initialize

서명 인증서에서 개체를 초기화합니다.
ISignerCertificate::p ut_ParentWindow

서명 인증서 정보를 표시하는 데 사용되는 창의 ID를 지정하거나 검색합니다. (Put)
ISignerCertificate::p ut_Pin

스마트 카드 사용자를 인증하는 데 사용되는 PIN(개인 식별 번호)을 지정합니다.
ISignerCertificate::p ut_Silent

프라이빗 키를 사용하여 인증서 요청에 서명할 때 사용자에게 알림을 받을지 여부를 나타내는 부울 값을 지정하거나 검색합니다. (Put)
ISignerCertificate::p ut_UIContextMessage

서명 인증서와 연결된 사용자 인터페이스 텍스트가 포함된 문자열을 지정하거나 검색합니다. (Put)

요구 사항

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

추가 정보

CertEnroll 인터페이스

IDispatch

ISignerCertificates