CertificateRequest.CreateSigningRequest Método

Definição

Sobrecargas

Name Description
CreateSigningRequest()

Cria um valor PKCS#10 CertificationRequest codificado em ASN.1 em DER, representando o estado do objeto atual.

CreateSigningRequest(X509SignatureGenerator)

Cria um PKCS#10 CertificationRequest codificado em ASN.1 DER, representando o estado atual do objeto atual usando o gerador de assinaturas fornecido.

CreateSigningRequest()

Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs

Cria um valor PKCS#10 CertificationRequest codificado em ASN.1 em DER, representando o estado do objeto atual.

public:
 cli::array <System::Byte> ^ CreateSigningRequest();
public byte[] CreateSigningRequest();
member this.CreateSigningRequest : unit -> byte[]
Public Function CreateSigningRequest () As Byte()

Devoluções

Byte[]

Um pedido de assinatura de certificado codificado em DER.

Exceções

O objeto atual foi criado usando um construtor que não aceita uma chave de assinatura.

O HashAlgorithm valor da propriedade não é suportado.

Ocorre um erro criptográfico durante a criação do pedido de assinatura.

Observações

Este método não suporta a utilização de MD5 ou SHA-1 como algoritmo de hash para a assinatura do pedido de assinatura. Se precisar de um pedido de assinatura baseado em MD5 ou SHA-1, precisa de implementar um pedido personalizado X509SignatureGenerator e ligar CreateSigningRequest(X509SignatureGenerator)para .

Ao submeter um pedido de assinatura de certificado através de um navegador web ou de outra interface gráfica ou textual, espera-se frequentemente que a entrada esteja no formato de Correio Reforçado de Privacidade (PEM), em vez do formato binário DER. Para converter o valor de retorno para formato PEM, faça uma string composta por -----BEGIN CERTIFICATE REQUEST-----, uma nova linha, a representação codificada em Base-64 do pedido (por convenção, enrolada em linha a 64 caracteres), uma nova linha, e -----END CERTIFICATE REQUEST-----.

public static string PemEncodeSigningRequest(CertificateRequest request, PkcsSignatureGenerator generator)
{
    byte[] pkcs10 = request.CreateSigningRequest(generator);
    StringBuilder builder = new StringBuilder();

    builder.AppendLine("-----BEGIN CERTIFICATE REQUEST-----");

    string base64 = Convert.ToBase64String(pkcs10);

    int offset = 0;
    const int LineLength = 64;

    while (offset < base64.Length)
    {
        int lineEnd = Math.Min(offset + LineLength, base64.Length);
        builder.AppendLine(base64.Substring(offset, lineEnd - offset));
        offset = lineEnd;
     }

     builder.AppendLine("-----END CERTIFICATE REQUEST-----");
     return builder.ToString();
}

Ver também

Aplica-se a

CreateSigningRequest(X509SignatureGenerator)

Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs
Origem:
CertificateRequest.cs

Cria um PKCS#10 CertificationRequest codificado em ASN.1 DER, representando o estado atual do objeto atual usando o gerador de assinaturas fornecido.

public:
 cli::array <System::Byte> ^ CreateSigningRequest(System::Security::Cryptography::X509Certificates::X509SignatureGenerator ^ signatureGenerator);
public byte[] CreateSigningRequest(System.Security.Cryptography.X509Certificates.X509SignatureGenerator signatureGenerator);
member this.CreateSigningRequest : System.Security.Cryptography.X509Certificates.X509SignatureGenerator -> byte[]
Public Function CreateSigningRequest (signatureGenerator As X509SignatureGenerator) As Byte()

Parâmetros

signatureGenerator
X509SignatureGenerator

O gerador de assinaturas com o qual assinar o pedido.

Devoluções

Byte[]

Um pedido de assinatura de certificado codificado em DER.

Exceções

signatureGenerator é null.

Ocorre um erro criptográfico durante a criação do pedido de assinatura.

OtherRequestAttributes contém um null valor.

-ou-

OtherRequestAttributes contém uma entrada com um nullOid valor.

-ou-

OtherRequestAttributes contém uma entrada que representa o Atributo de Pedido de Extensão PKCS#9 (1.2.840.113549.1.9.14).

-ou-

CertificateExtensions contém um null valor.

-ou-

CertificateExtensions contém uma entrada com um nullOid valor.

-ou-

Este objeto foi criado com um construtor que não aceitava uma chave de assinatura.

Observações

Ao submeter um pedido de assinatura de certificado através de um navegador web ou outra interface gráfica ou textual, espera-se frequentemente que a entrada esteja no formato PEM (Privacy Enhanced Mail), em vez do formato binário DER.

Ver também

Aplica-se a