CreateSelfSignedCertificateA

Sicherheit und Signaturen

Beschreibung

Das angehängte A bezeichnet den ANSI-Einstiegspunkt (char) der DLL; die ActiveX/COM-Oberfläche stellt nur die Unicode-Variante bereit. Das Verhalten ist identisch mit CreateSelfSignedCertificate, und Zeichenkettenargumente werden anhand der aktuellen SetAnsiMode-Codepage interpretiert

Erstellt ein selbstsigniertes RSA-Zertifikat mit einer SHA-256-Signatur und exportiert es – einschließlich privatem Schlüssel – in eine kennwortgeschützte PFX-Datei. Das erzeugte PFX funktioniert direkt mit SignFile, SetSignProcessPFXFromFile und den anderen PFX-basierten Signatur-Einstiegspunkten, sodass Signaturabläufe ohne ein Zertifikat einer externen Zertifizierungsstelle entwickelt und getestet werden können.

Das Zertifikat wird in einem temporären Schlüsselcontainer erzeugt, der nach dem Export wieder gelöscht wird; nur die PFX-Datei behält das Schlüsselmaterial. Selbstsignierte Zertifikate sind für Tests und interne Dokumente vorgesehen: PDF-Viewer kennzeichnen sie als nicht vertrauenswürdig, sofern der Benutzer sie nicht ausdrücklich installiert.

Syntax

Delphi

Function DLCreateSelfSignedCertificateA(InstanceID: Integer; SubjectName, PFXFileName, PFXPassword: PAnsiChar; ValidDays, KeyBits: Integer): Integer;

DLL

int DLCreateSelfSignedCertificateA(int InstanceID, const char * SubjectName, const char * PFXFileName, const char * PFXPassword, int ValidDays, int KeyBits);

Parameter

SubjectNameDer Zertifikatssubjektname als X.500-Zeichenfolge, beispielsweise "CN=Alice Signer, O=Example Corp". Ein einfacher Name ohne "=" erhält automatisch das Präfix "CN=".
PFXFileNameDer Pfad der zu schreibenden PFX-Datei (PKCS#12).
PFXPasswordDas Kennwort zum Schutz der exportierten PFX-Datei
ValidDaysGültigkeitsdauer in Tagen ab heute; Werte unter 1 verwenden standardmäßig 365
KeyBitsRSA-Schlüssellänge in Bit; Werte außerhalb von 1024..16384 verwenden standardmäßig 2048

Rückgabewerte

0Das Zertifikat konnte nicht erstellt werden, weil Antragsteller oder Dateiname leer war oder ein Windows-CryptoAPI-Fehler auftrat
1Success