CertificateRequest.CreateSigningRequest Metodo

Definizione

Overload

Nome Descrizione
CreateSigningRequest()

Crea un valore PKCS#10 CertificationRequest con codifica DER ASN.11 che rappresenta lo stato dell'oggetto corrente.

CreateSigningRequest(X509SignatureGenerator)

Crea un certificato PKCS#10 con codifica DER ASN.10 che rappresenta lo stato corrente dell'oggetto corrente usando il generatore di firme fornito.

CreateSigningRequest()

Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs

Crea un valore PKCS#10 CertificationRequest con codifica DER ASN.11 che rappresenta lo stato dell'oggetto corrente.

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

Valori restituiti

Byte[]

Richiesta di firma del certificato con codifica DER.

Eccezioni

L'oggetto corrente è stato creato usando un costruttore che non accetta una chiave di firma.

Il valore della HashAlgorithm proprietà non è supportato.

Si verifica un errore di crittografia durante la creazione della richiesta di firma.

Commenti

Questo metodo non supporta l'uso di MD5 o SHA-1 come algoritmo hash per la firma della richiesta di firma. Se è necessaria una richiesta di firma basata su MD5 o SHA-1, è necessario implementare un oggetto personalizzato X509SignatureGenerator e chiamare CreateSigningRequest(X509SignatureGenerator).

Quando si invia una richiesta di firma del certificato tramite un Web browser o un'altra interfaccia grafica o testuale, si prevede che l'input sia spesso nel formato PEM (Privacy Enhanced Mail), anziché nel formato binario DER. Per convertire il valore restituito in formato PEM, creare una stringa costituita da -----BEGIN CERTIFICATE REQUEST-----, una nuova riga, la rappresentazione con codifica Base 64 della richiesta (per convenzione, scritta a 64 caratteri), una nuova riga 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();
}

Vedi anche

Si applica a

CreateSigningRequest(X509SignatureGenerator)

Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs
Origine:
CertificateRequest.cs

Crea un certificato PKCS#10 con codifica DER ASN.10 che rappresenta lo stato corrente dell'oggetto corrente usando il generatore di firme fornito.

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()

Parametri

signatureGenerator
X509SignatureGenerator

Generatore di firme con cui firmare la richiesta.

Valori restituiti

Byte[]

Richiesta di firma del certificato con codifica DER.

Eccezioni

signatureGenerator è null.

Si verifica un errore di crittografia durante la creazione della richiesta di firma.

OtherRequestAttributes contiene un null valore.

oppure

OtherRequestAttributes contiene una voce con un nullOid valore .

oppure

OtherRequestAttributes contiene una voce che rappresenta l'attributo di richiesta di estensione PKCS#9 (1.2.840.113549.1.9.14).

oppure

CertificateExtensions contiene un null valore.

oppure

CertificateExtensions contiene una voce con un nullOid valore .

oppure

Questo oggetto è stato creato con un costruttore che non ha accettato una chiave di firma.

Commenti

Quando si invia una richiesta di firma del certificato tramite un Web browser o un'altra interfaccia grafica o testuale, è spesso previsto che l'input sia nel formato PEM (Privacy Enhanced Mail) anziché nel formato binario DER.

Vedi anche

Si applica a