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 |