CertificateRequest.CreateSigningRequest メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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()
戻り値
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)
指定された署名ジェネレーターを使用して現在のオブジェクトの現在の状態を表す 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
要求に署名する署名ジェネレーター。
戻り値
DER でエンコードされた証明書署名要求。
例外
signatureGenerator
が null
です。
署名要求の作成時に暗号化エラーが発生します。
OtherRequestAttributes には 値が null
含まれています。
または
OtherRequestAttributes には、値を含むエントリが null
Oid 含まれています。
または
OtherRequestAttributes には、PKCS#9 拡張要求属性 (1.2.840.113549.1.9.14) を表すエントリが含まれています。
または
CertificateExtensions には 値が null
含まれています。
または
CertificateExtensions には、値を含むエントリが null
Oid 含まれています。
または
このオブジェクトは、署名キーを受け入れなかったコンストラクターを使用して作成されました。
注釈
Web ブラウザーまたはその他のグラフィカルまたはテキスト インターフェイスを使用して証明書署名要求を送信する場合、入力は DER バイナリ形式ではなく PEM (プライバシー強化メール) 形式であることが多く想定されます。
適用対象
.NET