CertificateRequest.CreateSigningRequest Metoda

Definice

Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující aktuální stav objektu.

Přetížení

Name Description
CreateSigningRequest()

Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující stav aktuálního objektu.

CreateSigningRequest(X509SignatureGenerator)

Vytvoří ASN.1 DER kódovaný PKCS#10 CertificationRequest představující aktuální stav aktuálního objektu pomocí poskytnutého generátoru podpisů.

CreateSigningRequest()

Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs

Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující stav aktuálního objektu.

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

Návraty

Byte[]

Žádost o podepsání certifikátu s kódováním DER.

Výjimky

Aktuální objekt byl vytvořen pomocí konstruktoru, který nepřijímá podpisový klíč.

Hodnota HashAlgorithm vlastnosti není podporována.

Při vytváření žádosti o podepsání dojde k chybě kryptografie.

Poznámky

Tato metoda nepodporuje použití MD5 nebo SHA-1 jako algoritmus hash podpisu žádosti o podepsání. Pokud potřebujete podpisový požadavek založený na MD5 nebo SHA-1, musíte implementovat vlastní X509SignatureGenerator a volat CreateSigningRequest(X509SignatureGenerator).

Při odesílání žádosti o podepsání certifikátu prostřednictvím webového prohlížeče nebo jiného grafického nebo textového rozhraní se často očekává, že vstup bude ve formátu PEM (Privacy Enhanced Mail) místo binárního formátu DER. Chcete-li převést návratovou hodnotu na formát PEM, vytvořte řetězec skládající se z -----BEGIN CERTIFICATE REQUEST-----nového řádku, kódování Base-64 reprezentace požadavku (podle konvence, linewrapped at 64 znaků), nový řádek a -----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();
}

Viz také

Platí pro

CreateSigningRequest(X509SignatureGenerator)

Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs
Zdroj:
CertificateRequest.cs

Vytvoří ASN.1 DER kódovaný PKCS#10 CertificationRequest představující aktuální stav aktuálního objektu pomocí poskytnutého generátoru podpisů.

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

Parametry

signatureGenerator
X509SignatureGenerator

Generátor podpisů, pomocí kterého se má žádost podepsat.

Návraty

Byte[]

Žádost o podepsání certifikátu s kódováním DER.

Výjimky

signatureGenerator je null.

Při vytváření žádosti o podepsání dojde k chybě kryptografie.

OtherRequestAttributes null obsahuje hodnotu.

nebo

OtherRequestAttributes obsahuje položku s nullOid hodnotou.

nebo

OtherRequestAttributes obsahuje položku představující atribut žádosti o rozšíření PKCS#9 (1.2.840.113549.1.9.14).

nebo

CertificateExtensions null obsahuje hodnotu.

nebo

CertificateExtensions obsahuje položku s nullOid hodnotou.

nebo

Tento objekt byl vytvořen pomocí konstruktoru, který nepřijal podpisový klíč.

Poznámky

Při odesílání žádosti o podepsání certifikátu prostřednictvím webového prohlížeče nebo jiného grafického nebo textového rozhraní se místo binárního formátu DER často očekává, že vstup bude ve formátu PEM (Privacy Enhanced Mail).

Viz také

Platí pro