Sichern von Zertifikatdiensten
Das folgende Szenario zeigt, wie Sie die Zertifikatdienste-Sicherungsfunktionen verwenden können, um eine Zertifikatdienste-Datenbank und die zugehörigen Dateien zu sichern.
- Laden Sie die Certadm.dll Bibliothek in den Arbeitsspeicher (durch Aufrufen von LoadLibrary).
- Rufen Sie die Adresse jeder der erforderlichen Funktionen in Certadm.dll (mithilfe von GetProcAddress) ab. Verwenden Sie diese Adressen, wenn Sie die Funktionen in den verbleibenden Schritten aufrufen.
- Rufen Sie CertSrvIsServerOnline auf, um zu bestimmen, ob Zertifikatdienste online sind. Zertifikatdienste müssen online sein, damit die Sicherungsvorgänge erfolgreich sind.
- Rufen Sie CertSrvBackupPrepare auf, um eine Sicherungssitzung zu starten. Das resultierende Zertifikatdienste-Sicherungskontexthandle wird von vielen der anderen Sicherungsfunktionen verwendet.
- Rufen Sie CertSrvRestoreGetDatabaseLocations auf, um die Wiederherstellungszuordnung zu bestimmen. Die Wiederherstellungszuordnung enthält die Pfade, die beim Wiederherstellen der Sicherung verwendet werden sollen. Speichern Sie die von CertSrvRestoreGetDatabaseLocations abgerufenen Informationen an einem anwendungsspezifischen Speicherort.
- Rufen Sie CertSrvBackupGetDatabaseNames auf, um die Namen der zu sichernden Datenbankdateien zu bestimmen. Führen Sie für jede dieser Dateien die Schritte 7 bis 9 aus.
- Rufen Sie CertSrvBackupOpenFile auf, um die Datei für die Sicherung zu öffnen.
- Rufen Sie CertSrvBackupRead auf, um einen Teil der Bytes aus der Datei zu lesen, und rufen Sie dann eine anwendungsspezifische Routine auf, um die Bytes auf einem Sicherungsmedium zu speichern. Wiederholen Sie diesen Schritt, bis alle Bytes in der Datei gesichert sind.
- Rufen Sie CertSrvBackupClose auf, um die Datei zu schließen.
- Rufen Sie CertSrvBackupGetBackupLogs auf, um die Namen der zu sichernden Protokolldateien zu bestimmen. Führen Sie für jede dieser Dateien die Schritte 7 bis 9 aus.
- Rufen Sie CertSrvBackupTruncateLogs auf, um die Protokolldateien abzuschneiden, die in den Schritten 6 und 10 gesichert wurden. Dieser Schritt ist optional. Rufen Sie certSrvBackupTruncateLogs jedoch nur auf, wenn alle von CertSrvBackupGetDatabaseNames und CertSrvBackupGetBackupLogs zurückgegebenen Dateien gesichert wurden (andernfalls schlägt der Wiederherstellungsvorgang fehl). Weitere Informationen finden Sie auf der Referenzseite certSrvBackupTruncateLogs .
- Rufen Sie CertSrvBackupGetDynamicFileList auf, um die Namen der zu sichernden Nichtdatenbankdateien zu bestimmen. Diese Dateien werden nur durch die -Funktion identifiziert und müssen auf andere Art gesichert werden.
- Sichern Sie die in Schritt 12 identifizierten dynamischen Dateien mithilfe von Routinen, die von Certadm.dll getrennt sind.
- Rufen Sie CertSrvBackupEnd auf, um die Sicherungssitzung zu beenden.
- Rufen Sie CertSrvBackupFree bei Bedarf auf, um Puffer freizugeben, die von bestimmten Zertifikatdienstsicherungsfunktionen zugeordnet sind. Aufrufe von CertSrvBackupGetBackupLogs, CertSrvBackupGetDatabaseNames und CertSrvBackupGetDynamicFileList weisen Puffer zu, die durch einen Aufruf von CertSrvBackupFree freigegeben werden können.
- Geben Sie die Certadm.dll Ressourcen frei, indem Sie FreeLibrary aufrufen.
Informationen zu den Berechtigungen, die zum Sichern der Zertifikatdienste-Datenbank und der zugehörigen Dateien erforderlich sind, finden Sie unter Festlegen der Sicherungs- und Wiederherstellungsberechtigungen.