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()
Возвращаемое значение
Запрос подписывания сертификата в кодировке 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
Генератор подписей, с помощью которого необходимо подписать запрос.
Возвращаемое значение
Запрос подписывания сертификата в кодировке DER.
Исключения
signatureGenerator равно null.
При создании запроса подписи возникает ошибка шифрования.
OtherRequestAttributes содержит null значение.
–или–
OtherRequestAttributes содержит запись со значением nullOid .
–или–
OtherRequestAttributes содержит запись, представляющую атрибут запроса расширения PKCS#9 (1.2.840.113549.1.9.14).
–или–
CertificateExtensions содержит null значение.
–или–
CertificateExtensions содержит запись со значением nullOid .
–или–
Этот объект был создан с конструктором, который не принял ключ подписи.
Комментарии
При отправке запроса на подпись сертификата через веб-браузер или другой графический или текстовый интерфейс входные данные часто будут находиться в формате PEM (конфиденциальность расширенной почты), а не в двоичном формате DER.