CertificateRequest.CreateSigningRequest Methode

Definition

Überlädt

Name Beschreibung
CreateSigningRequest()

Erstellt einen ASN.1 DER-codierten PKCS#10 CertificationRequest-Wert, der den Status des aktuellen Objekts darstellt.

CreateSigningRequest(X509SignatureGenerator)

Erstellt eine ASN.1 DER-codierte PKCS#10 CertificationRequest, die den aktuellen Status des aktuellen Objekts mithilfe des bereitgestellten Signaturgenerators darstellt.

CreateSigningRequest()

Erstellt einen ASN.1 DER-codierten PKCS#10 CertificationRequest-Wert, der den Status des aktuellen Objekts darstellt.

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

Gibt zurück

Byte[]

Eine DER-codierte Zertifikatsignierungsanforderung.

Ausnahmen

Das aktuelle Objekt wurde mit einem Konstruktor erstellt, der keinen Signaturschlüssel akzeptiert.

Der HashAlgorithm Eigenschaftswert wird nicht unterstützt.

Beim Erstellen der Signaturanforderung tritt ein kryptografischer Fehler auf.

Hinweise

Diese Methode unterstützt nicht die Verwendung von MD5 oder SHA-1 als Hashalgorithmus für die Signatur der Signatur der Signieranforderung. Wenn Sie eine MD5- oder SHA-1-basierte Signaturanforderung benötigen, müssen Sie eine benutzerdefinierte X509SignatureGenerator und einen Aufruf CreateSigningRequest(X509SignatureGenerator)implementieren.

Beim Übermitteln einer Zertifikatsignaturanforderung über einen Webbrowser oder eine andere grafische oder textbezogene Schnittstelle wird häufig erwartet, dass die Eingabe im PEM-Format (Privacy Enhanced Mail) statt im BINM-Format (Privacy Enhanced Mail) enthalten ist. Um den Rückgabewert in das PEM-Format zu konvertieren, erstellen Sie eine Zeichenfolge, die aus -----BEGIN CERTIFICATE REQUEST-----, einer Neuenlinie, der Base64-codierten Darstellung der Anforderung (nach Konvention, Linewrapped bei 64 Zeichen), einer Neuzeile und -----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();
}

Weitere Informationen

Gilt für:

CreateSigningRequest(X509SignatureGenerator)

Erstellt eine ASN.1 DER-codierte PKCS#10 CertificationRequest, die den aktuellen Status des aktuellen Objekts mithilfe des bereitgestellten Signaturgenerators darstellt.

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

Parameter

signatureGenerator
X509SignatureGenerator

Der Signaturgenerator, mit dem die Anforderung signiert werden soll.

Gibt zurück

Byte[]

Eine DER-codierte Zertifikatsignierungsanforderung.

Ausnahmen

signatureGenerator ist null.

Beim Erstellen der Signaturanforderung tritt ein kryptografischer Fehler auf.

OtherRequestAttributes enthält einen null Wert.

-oder-

OtherRequestAttributes enthält einen Eintrag mit einem nullOid Wert.

-oder-

OtherRequestAttributes enthält einen Eintrag, der das PKCS#9 Extension Request-Attribut darstellt (1.2.840.113549.1.9.14).

-oder-

CertificateExtensions enthält einen null Wert.

-oder-

CertificateExtensions enthält einen Eintrag mit einem nullOid Wert.

-oder-

Dieses Objekt wurde mit einem Konstruktor erstellt, der keinen Signaturschlüssel akzeptierte.

Hinweise

Beim Übermitteln einer Zertifikatsignaturanforderung über einen Webbrowser oder eine andere grafische oder textbezogene Schnittstelle wird häufig erwartet, dass die Eingabe im PEM-Format (Privacy Enhanced Mail) anstelle des BINÄR-Formats liegt.

Weitere Informationen

Gilt für: