Share via


CertificateRequest.CreateSigningRequest Método

Definición

Sobrecargas

CreateSigningRequest()

Crea un valor PKCS#10 CertificationRequest con codificación ASN.1 DER que representa el estado del objeto actual.

CreateSigningRequest(X509SignatureGenerator)

Crea un objeto PKCS#10 CertificationRequest con codificación ASN.1 DER que representa el estado actual del objeto actual mediante el generador de firmas proporcionado.

CreateSigningRequest()

Crea un valor PKCS#10 CertificationRequest con codificación ASN.1 DER que representa el estado del objeto actual.

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

Devoluciones

Byte[]

Solicitud de firma de certificado con codificación DER.

Excepciones

El objeto actual se creó con un constructor que no acepta ninguna clave de firma.

No se admite el valor de la propiedad HashAlgorithm.

Comentarios

Este método no admite el uso de MD5 o SHA-1 como algoritmo hash para la firma de solicitud de firma. Si necesita una solicitud de firma basada en MD5 o SHA-1, debe implementar un personalizado X509SignatureGenerator y llamar a CreateSigningRequest(X509SignatureGenerator).

Al enviar una solicitud de firma de certificado a través de un explorador web u otra interfaz gráfica o textual, se espera que la entrada esté frecuentemente en el formato de Correo mejorado de privacidad (PEM), en lugar del formato binario DER. Para convertir el valor devuelto al formato PEM, cree una cadena que conste de -----BEGIN CERTIFICATE REQUEST-----, una nueva línea, la representación codificada en Base 64 de la solicitud (por convención, linewrapped en 64 caracteres), una nueva línea y -----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();
}

Se aplica a

CreateSigningRequest(X509SignatureGenerator)

Crea un objeto PKCS#10 CertificationRequest con codificación ASN.1 DER que representa el estado actual del objeto actual mediante el generador de firmas proporcionado.

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

El generador de firmas con el que se va a firmar la solicitud.

Devoluciones

Byte[]

Solicitud de firma de certificado con codificación DER.

Excepciones

signatureGenerator es null.

Se aplica a