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í.
Přetížení
CreateSigningRequest() |
Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER, která představuje stav aktuálního objektu. |
CreateSigningRequest(X509SignatureGenerator) |
Vytvoří ASN.1 PKCS#10 CertificationRequest představující aktuální stav aktuálního objektu pomocí poskytnutého generátoru podpisů. |
CreateSigningRequest()
Vytvoří hodnotu PKCS#10 CertificationRequest s kódováním ASN.1 DER, která představuje 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
- Byte[]
Žá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.
Poznámky
Tato metoda nepodporuje použití MD5 nebo SHA-1 jako algoritmu 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, reprezentaci požadavku kódování Base-64 (podle konvence, řádkování na 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();
}
Platí pro
CreateSigningRequest(X509SignatureGenerator)
Vytvoří ASN.1 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ů, se kterým se má žádost podepsat.
Návraty
- Byte[]
Žádost o podepsání certifikátu s kódováním DER
Výjimky
signatureGenerator
je null
.