語言

CertificateRequest.CreateSigningRequest 方法

定義

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

多載

名稱 Description
CreateSigningRequest()

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

CreateSigningRequest(X509SignatureGenerator)

使用所提供的簽章產生器,建立一個以 ASN.1 DER 編碼的 PKCS#10 認證請求,代表當前物件的狀態。

CreateSigningRequest()

來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs

建立一個 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 編碼的憑證簽署請求。

例外狀況

目前的物件是用一個不接受簽名金鑰的建構函式建立的。

HashAlgorithm房產價值沒有被支持。

在建立簽署請求時會發生密碼學錯誤。

備註

此方法不支援使用 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)

來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs
來源:
CertificateRequest.cs

使用所提供的簽章產生器,建立一個以 ASN.1 DER 編碼的 PKCS#10 認證請求,代表當前物件的狀態。

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 編碼的憑證簽署請求。

例外狀況

signatureGenerator 是 null。

在建立簽署請求時會發生密碼學錯誤。

OtherRequestAttributes 包含一個 null 值。

-或-

OtherRequestAttributes 包含一個帶有值 nullOid 的條目。

-或-

OtherRequestAttributes 包含一個代表 PKCS#9 擴充請求屬性(1.2.840.113549.1.9.14)的條目。

-或-

CertificateExtensions 包含一個 null 值。

-或-

CertificateExtensions 包含一個帶有值 nullOid 的條目。

-或-

這個物件是用一個不接受簽名金鑰的建構子所建立的。

備註

透過網頁瀏覽器或其他圖形或文字介面提交憑證簽署請求時,輸入通常預期為 PEM(隱私增強郵件)格式,而非 DER 二進位格式。

另請參閱

適用於