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
| SubjectName | Der Zertifikatssubjektname als X.500-Zeichenfolge, beispielsweise "CN=Alice Signer, O=Example Corp". Ein einfacher Name ohne "=" erhält automatisch das Präfix "CN=". |
|---|---|
| PFXFileName | Der Pfad der zu schreibenden PFX-Datei (PKCS#12). |
| PFXPassword | Das Kennwort zum Schutz der exportierten PFX-Datei |
| ValidDays | Gültigkeitsdauer in Tagen ab heute; Werte unter 1 verwenden standardmäßig 365 |
| KeyBits | RSA-Schlüssellänge in Bit; Werte außerhalb von 1024..16384 verwenden standardmäßig 2048 |
Rückgabewerte
| 0 | Das Zertifikat konnte nicht erstellt werden, weil Antragsteller oder Dateiname leer war oder ein Windows-CryptoAPI-Fehler auftrat |
|---|---|
| 1 | Success |