CertificateRequest.CreateSigningRequest Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
CreateSigningRequest() |
Создает значение PKCS#10 CertificationRequest с кодировкой ASN.1 DER, представляющее состояние текущего объекта. |
CreateSigningRequest(X509SignatureGenerator) |
Создает объект PKCS#10 CertificationRequest с кодировкой ASN.1 DER, представляющий текущее состояние текущего объекта, с использованием предоставленного генератора подписей. |
CreateSigningRequest()
Создает значение PKCS#10 CertificationRequest с кодировкой 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)
Создает объект PKCS#10 CertificationRequest с кодировкой 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
.