CertificateRequest.CreateSigningRequest メソッド

定義

オーバーロード

名前 説明
CreateSigningRequest()

現在のオブジェクトの状態を表す ASN.1 DER でエンコードされた PKCS#10 CertificationRequest 値を作成します。

CreateSigningRequest(X509SignatureGenerator)

指定された署名ジェネレーターを使用して、現在のオブジェクトの現在の状態を表す ASN.1 DER でエンコードされた PKCS#10 CertificationRequest を作成します。

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)を呼び出す必要があります。

Web ブラウザーまたはその他のグラフィカルまたはテキスト インターフェイスを介して証明書署名要求を送信する場合、入力は DER バイナリ形式ではなく、プライバシー強化メール (PEM) 形式であることが多く予想されます。 戻り値を 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 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です。

署名要求の作成時に暗号化エラーが発生します。

OtherRequestAttributes には、 null 値が含まれています。

-又は-

OtherRequestAttributes には、 nullOid 値を持つエントリが含まれています。

-又は-

OtherRequestAttributes には、PKCS#9 拡張要求属性 (1.2.840.113549.1.9.14) を表すエントリが含まれています。

-又は-

CertificateExtensions には、 null 値が含まれています。

-又は-

CertificateExtensions には、 nullOid 値を持つエントリが含まれています。

-又は-

このオブジェクトは、署名キーを受け入れなかったコンストラクターを使用して作成されました。

注釈

Web ブラウザーまたはその他のグラフィカルまたはテキスト インターフェイスを介して証明書署名要求を送信する場合、入力は DER バイナリ形式ではなく PEM (プライバシー強化メール) 形式であることが多く予想されます。

こちらもご覧ください

適用対象