CertificateRequest.CreateSigningRequest 方法

定義

多載

CreateSigningRequest()

建立 ASN.1 DER 編碼的 PKCS#10 CertificationRequest 值,代表目前物件的狀態。

CreateSigningRequest(X509SignatureGenerator)

使用提供的簽章產生器,建立代表目前物件目前狀態的 ASN.1 DER 編碼 PKCS#10 CertificationRequest。

CreateSigningRequest()

建立 ASN.1 DER 編碼的 PKCS#10 CertificationRequest 值,代表目前物件的狀態。

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

傳回

Byte[]

DER 編碼的憑證簽署要求。

例外狀況

目前的物件是使用不接受簽署金鑰的建構函式所建立。

備註

此方法不支援使用 MD5 或 SHA-1 作為簽署要求籤章的雜湊演算法。 如果您需要以 MD5 或 SHA-1 為基礎的簽署要求,您必須實作自訂 X509SignatureGenerator 並呼叫 CreateSigningRequest(X509SignatureGenerator)

透過網頁瀏覽器或其他圖形或文字介面提交憑證簽署要求時,輸入經常會是隱私權增強郵件 (PEM) 格式,而不是 DER 二進位格式。 若要將傳回值轉換為 PEM 格式,請建立字串,其中包含 -----BEGIN CERTIFICATE REQUEST----- 、分行符號、依慣例 (要求的 Base-64 編碼標記法、在 64 個字元) 、分行符號和 -----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();
}

適用於

CreateSigningRequest(X509SignatureGenerator)

使用提供的簽章產生器,建立代表目前物件目前狀態的 ASN.1 DER 編碼 PKCS#10 CertificationRequest。

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

參數

signatureGenerator
X509SignatureGenerator

用於簽署要求的簽章產生器。

傳回

Byte[]

DER 編碼的憑證簽署要求。

例外狀況

signatureGeneratornull

適用於