Interface IX509CertificateRequestPkcs7 (certenroll.h)
A interface IX509CertificateRequestPkcs7 representa um objeto cms (sintaxe de mensagem de certificado) PKCS nº 7. O PKCS nº 7 define o formato das mensagens enviadas a uma autoridade de certificação ou registro para solicitar um certificado de chave pública. A interface IX509CertificateRequestPkcs7 pode ser confusa porque sua implementação não espelho perfeitamente a maneira como a maioria dos profissionais de segurança pensa sobre o padrão PKCS nº 7. Para evitar essa confusão, tenha em mente os seguintes pontos:
- Embora uma mensagem PKCS nº 7 seja usada para encapsular uma solicitação CMC, um objeto IX509CertificateRequestPkcs7 não pode conter um objeto IX509CertificateRequestCmc . Em vez disso, a interface IX509CertificateRequestCmc herda e implementa a interface IX509CertificateRequestPkcs7 . Conforme implementado, uma solicitação CMC é, portanto, um objeto PKCS #7 SignedData que contém conteúdo CMC, uma assinatura primária que é baseada em chave ou assinada em nulo e zero ou mais assinaturas baseadas em certificado. Por outro lado, uma solicitação PKCS nº 7 é um objeto SignedData que contém conteúdo PKCS nº 10 (consulte o próximo item nesta lista) e tem exatamente uma assinatura baseada em certificado.
- Um IX509CertificateRequestPkcs7 deve conter um objeto IX509CertificateRequestPkcs10 . A vantagem main de encapsular uma solicitação PKCS nº 10 em uma mensagem PKCS nº 7 é a capacidade de adicionar vários signatários. A solicitação PKCS nº 10 é assinada pela chave privada associada e a mensagem PKCS nº 7 que encapsula a solicitação PKCS #10 também é assinada. Esse segundo signatário usa o certificado que está sendo renovado (para uma solicitação de renovação) ou o certificado do agente de registro (para um registro em nome da solicitação).
- Você pode criar e registrar uma solicitação de certificado IX509CertificateRequestPkcs10 autônoma sem embrulhá-la em um objeto IX509CertificateRequestPkcs7 .
A representação ASN.1 de um objeto PKCS nº 7 no exemplo de sintaxe a seguir mostra que ele pode ser composto por uma variedade de tipos de dados.
PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
{
data | signed-data | enveloped-data | signed-and-enveloped-data |
digested-data | encrypted-data | authenticated-data, ...
}
Destes, o objeto SignedData mostrado abaixo é mais relevante. O objeto SignerInfo referenciado no objeto SignedData contém as informações de assinatura. Para obter uma discussão mais completa, consulte Atributos PKCS nº 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
}
Herança
A interface IX509CertificateRequestPkcs7 herda de IX509CertificateRequest. IX509CertificateRequestPkcs7 também tem esses tipos de membros:
Métodos
A interface IX509CertificateRequestPkcs7 tem esses métodos.
IX509CertificateRequestPkcs7::get_RequesterName Especifica ou recupera uma cadeia de caracteres que contém o nome SAM (Gerenciador de Contas de Segurança) da entidade final que solicita o certificado. (Obter) |
IX509CertificateRequestPkcs7::get_SignerCertificate Especifica ou recupera um certificado usado para assinar a solicitação de certificado. (Obter) |
IX509CertificateRequestPkcs7::InitializeDecode Decodifica um PKCS assinado ou não assinado existente (IX509CertificateRequestPkcs7.InitializeDecode) |
IX509CertificateRequestPkcs7::InitializeFromCertificate Inicializa a solicitação de certificado usando um certificado existente. (IX509CertificateRequestPkcs7.InitializeFromCertificate) |
IX509CertificateRequestPkcs7::InitializeFromInnerRequest Inicializa a solicitação de certificado do PKCS interno |
IX509CertificateRequestPkcs7::InitializeFromTemplateName Inicializa a solicitação de certificado usando um modelo. (IX509CertificateRequestPkcs7.InitializeFromTemplateName) |
IX509CertificateRequestPkcs7::p ut_RequesterName Especifica ou recupera uma cadeia de caracteres que contém o nome SAM (Gerenciador de Contas de Segurança) da entidade final que solicita o certificado. (Put) |
IX509CertificateRequestPkcs7::p ut_SignerCertificate Especifica ou recupera um certificado usado para assinar a solicitação de certificado. (Put) |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |