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()
返回
- Byte[]
按 DER 方式编码的证书签名请求。
例外
当前对象是通过不接受签名密钥的构造函数而创建的。
不支持 HashAlgorithm 属性值。
注解
此方法不支持将 MD5 或 SHA-1 用作签名请求签名的哈希算法。 如果需要基于 MD5 或 SHA-1 的签名请求,则需要实现自定义 X509SignatureGenerator 和调用 CreateSigningRequest(X509SignatureGenerator)。
通过 Web 浏览器或其他图形或文本界面提交证书签名请求时,输入通常采用隐私增强邮件 (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 方式编码的证书签名请求。
例外
signatureGenerator
为 null
。