Compartilhar via


CertificateRequest.CreateSigningRequest Método

Definição

Sobrecargas

CreateSigningRequest()

Cria um valor de CertificationRequest PKCS#10 codificado por DER ASN.1 que representa o estado do objeto atual.

CreateSigningRequest(X509SignatureGenerator)

Cria uma CertificationRequest PKCS#10 codificada por DER ASN.1 que representa o estado atual do objeto atual usando o gerador de assinatura fornecido.

CreateSigningRequest()

Cria um valor de CertificationRequest PKCS#10 codificado por DER ASN.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 codificado por 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 valor da propriedade HashAlgorithm.

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 um personalizado X509SignatureGenerator e uma chamada CreateSigningRequest(X509SignatureGenerator).

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 no formato PEM (Privacy Enhanced Mail), em vez do formato binário DER. Para converter o valor de retorno no formato PEM, faça uma cadeia de caracteres -----BEGIN CERTIFICATE REQUEST-----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();
}

Aplica-se a

CreateSigningRequest(X509SignatureGenerator)

Cria uma CertificationRequest PKCS#10 codificada por DER 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 a ser usado para assinar a solicitação.

Retornos

Byte[]

Uma solicitação de assinatura de certificado codificado por DER.

Exceções

signatureGenerator é null.

Aplica-se a