CertificateRequest.CreateSigningRequest Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
.