CertificateRequest.CreateSigningRequest Método

Definição

Sobrecargas

Nome Description
CreateSigningRequest()

Cria um valor de CertificationRequest codificado em DER do ASN.1 1 que representa o estado do objeto atual.

CreateSigningRequest(X509SignatureGenerator)

Cria um PKCS#10 CertificationRequest codificado em DER do ASN.1 que representa o estado atual do objeto atual usando o gerador de assinatura fornecido.

CreateSigningRequest()

Cria um valor de CertificationRequest codificado em DER do ASN.1 1 que representa o estado do objeto atual.

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

Retornos

Byte[]

Uma solicitação de assinatura de certificado codificada em DER.

Exceções

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

Não há suporte para o HashAlgorithm valor da propriedade.

Ocorre um erro criptográfico ao criar a solicitação de assinatura.

Comentários

Esse método não dá suporte ao uso de MD5 ou SHA-1 como o algoritmo de hash para a assinatura da solicitação de assinatura. Se você precisar de uma solicitação de assinatura baseada em MD5 ou SHA-1, precisará implementar uma chamada CreateSigningRequest(X509SignatureGenerator)e personalizadaX509SignatureGenerator.

Ao enviar uma solicitação de assinatura de certificado por meio de um navegador da Web ou outra interface gráfica ou textual, a entrada é frequentemente esperada para estar no formato PEM (Email Avançado de Privacidade), em vez do formato binário DER. Para converter o valor retornado em formato PEM, crie uma cadeia de -----BEGIN CERTIFICATE REQUEST-----caracteres que consiste em, uma nova linha, a representação codificada em Base 64 da solicitação (por convenção, com uma linha com 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();
}

Confira também

Aplica-se a

CreateSigningRequest(X509SignatureGenerator)

Cria um PKCS#10 CertificationRequest codificado em DER do ASN.1 que representa o estado atual do objeto atual usando o gerador de assinatura 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 assinatura com o qual assinar a solicitação.

Retornos

Byte[]

Uma solicitação de assinatura de certificado codificada em DER.

Exceções

signatureGenerator é null.

Ocorre um erro criptográfico ao criar a solicitação 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 Solicitação de Extensão PKCS nº 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-

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

Comentários

Ao enviar uma solicitação de assinatura de certificado por meio de um navegador da Web ou outra interface gráfica ou textual, a entrada é frequentemente esperada para estar no formato PEM (Email Avançado de Privacidade), em vez do formato binário DER.

Confira também

Aplica-se a