Udostępnij za pośrednictwem


CertificateRequest.CreateSigningRequest Metoda

Definicja

Przeciążenia

CreateSigningRequest()

Tworzy wartość PKCS#1 Z kodowaniem DER ASN.10 CertificationRequest reprezentującą stan bieżącego obiektu.

CreateSigningRequest(X509SignatureGenerator)

Tworzy kodowanie PKCS#10 CertificationRequest asN.1.1, reprezentując bieżący stan bieżącego obiektu przy użyciu dostarczonego generatora podpisów.

CreateSigningRequest()

Tworzy wartość PKCS#1 Z kodowaniem DER ASN.10 CertificationRequest reprezentującą stan bieżącego obiektu.

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

Zwraca

Byte[]

Żądanie podpisania certyfikatu zakodowanego w formacie DER.

Wyjątki

Bieżący obiekt został utworzony przy użyciu konstruktora, który nie akceptuje klucza podpisywania.

Wartość właściwości nie jest obsługiwana HashAlgorithm .

Uwagi

Ta metoda nie obsługuje używania algorytmu MD5 lub SHA-1 jako algorytmu wyznaczania skrótu dla podpisu żądania podpisania. Jeśli potrzebujesz żądania podpisania opartego na algorytmie MD5 lub SHA-1, musisz zaimplementować niestandardowe X509SignatureGenerator i wywołać metodę CreateSigningRequest(X509SignatureGenerator).

W przypadku przesyłania żądania podpisania certyfikatu za pośrednictwem przeglądarki internetowej lub innego interfejsu graficznego lub tekstowego dane wejściowe są często oczekiwane w formacie Privacy Enhanced Mail (PEM) zamiast formatu binarnego DER. Aby przekonwertować wartość zwracaną na format PEM, utwórz ciąg składający się z -----BEGIN CERTIFICATE REQUEST-----, nowego wiersza, zakodowanej w formacie Base-64 reprezentacji żądania (zgodnie z konwencją, linewrapped na 64 znaki), nowego wiersza i -----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();
}

Dotyczy

CreateSigningRequest(X509SignatureGenerator)

Tworzy kodowanie PKCS#10 CertificationRequest asN.1.1, reprezentując bieżący stan bieżącego obiektu przy użyciu dostarczonego generatora podpisów.

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

Generator podpisów, za pomocą którego należy podpisać żądanie.

Zwraca

Byte[]

Żądanie podpisania certyfikatu zakodowanego w formacie DER.

Wyjątki

signatureGenerator to null.

Dotyczy