Aracılığıyla paylaş


CertificateRequest.CreateSigningRequest Yöntem

Tanım

Aşırı Yüklemeler

CreateSigningRequest()

Geçerli nesnenin durumunu temsil eden ASN.1 DER kodlu PKCS#10 CertificationRequest değeri oluşturur.

CreateSigningRequest(X509SignatureGenerator)

Sağlanan imza oluşturucuyu kullanarak geçerli nesnenin geçerli durumunu temsil eden ASN.1 DER kodlu PKCS#10 CertificationRequest oluşturur.

CreateSigningRequest()

Kaynak:
CertificateRequest.cs
Kaynak:
CertificateRequest.cs
Kaynak:
CertificateRequest.cs

Geçerli nesnenin durumunu temsil eden ASN.1 DER kodlu PKCS#10 CertificationRequest değeri oluşturur.

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

Döndürülenler

Byte[]

DER ile kodlanmış bir sertifika imzalama isteği.

Özel durumlar

Geçerli nesne, imzalama anahtarını kabul etmeyen bir oluşturucu kullanılarak oluşturuldu.

Özellik HashAlgorithm değeri desteklenmiyor.

İmzalama isteği oluşturulurken şifreleme hatası oluşur.

Açıklamalar

Bu yöntem, imzalama isteği imzası için karma algoritması olarak MD5 veya SHA-1 kullanılmasını desteklemez. MD5 veya SHA-1 tabanlı imzalama isteğine ihtiyacınız varsa özel X509SignatureGenerator bir uygulamalı ve çağrısı CreateSigningRequest(X509SignatureGenerator)gerçekleştirmelisiniz.

Web tarayıcısı veya başka bir grafik veya metin arabirimi aracılığıyla sertifika imzalama isteği gönderirken, girişin sıklıkla DER ikili biçimi yerine Gizlilik Artırılmış Posta (PEM) biçiminde olması beklenir. Dönüş değerini PEM biçimine dönüştürmek için, yeni bir satır, isteğin -----BEGIN CERTIFICATE REQUEST-----Base-64 ile kodlanmış gösteriminden (kurala göre, 64 karakterden satır başlayıp), bir yeni satırdan ve -----END CERTIFICATE REQUEST-----öğesinden oluşan bir dize oluşturun.

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

Şunlara uygulanır

CreateSigningRequest(X509SignatureGenerator)

Kaynak:
CertificateRequest.cs
Kaynak:
CertificateRequest.cs
Kaynak:
CertificateRequest.cs

Sağlanan imza oluşturucuyu kullanarak geçerli nesnenin geçerli durumunu temsil eden ASN.1 DER kodlu PKCS#10 CertificationRequest oluşturur.

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

Parametreler

signatureGenerator
X509SignatureGenerator

İsteğin imzalandığı imza oluşturucu.

Döndürülenler

Byte[]

DER ile kodlanmış bir sertifika imzalama isteği.

Özel durumlar

signatureGenerator, null değeridir.

İmzalama isteği oluşturulurken şifreleme hatası oluşur.

OtherRequestAttributes bir null değer içerir.

-veya-

OtherRequestAttributes değeri olan bir nullOid giriş içerir.

-veya-

OtherRequestAttributes PKCS#9 Uzantı İsteği Özniteliğini (1.2.840.113549.1.9.14) temsil eden bir girdi içerir.

-veya-

CertificateExtensions bir null değer içerir.

-veya-

CertificateExtensions değeri olan bir nullOid giriş içerir.

-veya-

Bu nesne, imzalama anahtarını kabul etmemiş bir oluşturucuyla oluşturuldu.

Açıklamalar

Bir web tarayıcısı veya başka bir grafik veya metin arabirimi aracılığıyla sertifika imzalama isteği gönderirken, girişin sıklıkla DER ikili biçimi yerine PEM (Privacy Enhanced Mail) biçiminde olması beklenir.

Şunlara uygulanır