CertificateRequest.CreateSigningRequest Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující aktuální stav objektu.
Přetížení
| Name | Description |
|---|---|
| CreateSigningRequest() |
Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující stav aktuálního objektu. |
| CreateSigningRequest(X509SignatureGenerator) |
Vytvoří ASN.1 DER kódovaný PKCS#10 CertificationRequest představující aktuální stav aktuálního objektu pomocí poskytnutého generátoru podpisů. |
CreateSigningRequest()
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER představující stav aktuálního objektu.
public:
cli::array <System::Byte> ^ CreateSigningRequest();
public byte[] CreateSigningRequest();
member this.CreateSigningRequest : unit -> byte[]
Public Function CreateSigningRequest () As Byte()
Návraty
Žádost o podepsání certifikátu s kódováním DER.
Výjimky
Aktuální objekt byl vytvořen pomocí konstruktoru, který nepřijímá podpisový klíč.
Hodnota HashAlgorithm vlastnosti není podporována.
Při vytváření žádosti o podepsání dojde k chybě kryptografie.
Poznámky
Tato metoda nepodporuje použití MD5 nebo SHA-1 jako algoritmus hash podpisu žádosti o podepsání. Pokud potřebujete podpisový požadavek založený na MD5 nebo SHA-1, musíte implementovat vlastní X509SignatureGenerator a volat CreateSigningRequest(X509SignatureGenerator).
Při odesílání žádosti o podepsání certifikátu prostřednictvím webového prohlížeče nebo jiného grafického nebo textového rozhraní se často očekává, že vstup bude ve formátu PEM (Privacy Enhanced Mail) místo binárního formátu DER. Chcete-li převést návratovou hodnotu na formát PEM, vytvořte řetězec skládající se z -----BEGIN CERTIFICATE REQUEST-----nového řádku, kódování Base-64 reprezentace požadavku (podle konvence, linewrapped at 64 znaků), nový řádek a -----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();
}
Viz také
Platí pro
CreateSigningRequest(X509SignatureGenerator)
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
- Zdroj:
- CertificateRequest.cs
Vytvoří ASN.1 DER kódovaný PKCS#10 CertificationRequest představující aktuální stav aktuálního objektu pomocí poskytnutého generátoru podpisů.
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()
Parametry
- signatureGenerator
- X509SignatureGenerator
Generátor podpisů, pomocí kterého se má žádost podepsat.
Návraty
Žádost o podepsání certifikátu s kódováním DER.
Výjimky
signatureGenerator je null.
Při vytváření žádosti o podepsání dojde k chybě kryptografie.
OtherRequestAttributes
null obsahuje hodnotu.
nebo
OtherRequestAttributes obsahuje položku s nullOid hodnotou.
nebo
OtherRequestAttributes obsahuje položku představující atribut žádosti o rozšíření PKCS#9 (1.2.840.113549.1.9.14).
nebo
CertificateExtensions
null obsahuje hodnotu.
nebo
CertificateExtensions obsahuje položku s nullOid hodnotou.
nebo
Tento objekt byl vytvořen pomocí konstruktoru, který nepřijal podpisový klíč.
Poznámky
Při odesílání žádosti o podepsání certifikátu prostřednictvím webového prohlížeče nebo jiného grafického nebo textového rozhraní se místo binárního formátu DER často očekává, že vstup bude ve formátu PEM (Privacy Enhanced Mail).