CertificateRequest.CreateSigningRequest Метод

Определение

Создает значение PKCS#1 с кодировкой ASN.1 DER, представляющее текущее состояние объекта.

Перегрузки

Имя Описание
CreateSigningRequest()

Создает значение PKCS#1 с кодировкой ASN.1 DER, представляющее состояние текущего объекта.

CreateSigningRequest(X509SignatureGenerator)

Создает PKCS#1 С кодировкой ASN.1 DER, представляющую текущее состояние текущего объекта с помощью предоставленного генератора подписей.

CreateSigningRequest()

Исходный код:
CertificateRequest.cs
Исходный код:
CertificateRequest.cs
Исходный код:
CertificateRequest.cs
Исходный код:
CertificateRequest.cs
Исходный код:
CertificateRequest.cs

Создает значение PKCS#1 с кодировкой ASN.1 DER, представляющее состояние текущего объекта.

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

Создает PKCS#1 С кодировкой ASN.1 DER, представляющую текущее состояние текущего объекта с помощью предоставленного генератора подписей.

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.

См. также раздел

Применяется к