Sichern von Zertifikatdiensten

Das folgende Szenario zeigt, wie Sie die Sicherungsfunktionen der Zertifikatdienste verwenden können, um eine Zertifikatdienste-Datenbank und die zugehörigen Dateien zu sichern.

  1. Laden Sie Certadm.dll Bibliothek in den Arbeitsspeicher (durch Aufrufen von LoadLibrary).
  2. Rufen Sie die Adresse jeder der erforderlichen Funktionen in Certadm.dll (mit getProcAddress) ab. Verwenden Sie diese Adressen, wenn Sie die Funktionen in den verbleibenden Schritten aufrufen.
  3. Rufen Sie CertSrvIsServerOnline auf, um zu ermitteln, ob die Zertifikatdienste online sind. Die Zertifikatdienste müssen online sein, damit die Sicherungsvorgänge erfolgreich sind.
  4. Rufen Sie CertSrvBackupPrepare auf, um eine Sicherungssitzung zu starten. Das resultierende Zertifikatdienst-Sicherungskontexthand handle wird von vielen der anderen Sicherungsfunktionen verwendet.
  5. 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.
  6. 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.
  7. Rufen Sie CertSrvBackupOpenFile auf, um die Datei für die Sicherung zu öffnen.
  8. 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 sichern.
  9. Rufen Sie CertSrvBackupClose auf, um die Datei zu schließen.
  10. 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.
  11. Rufen Sie CertSrvBackupTruncateLogs auf, um die Protokolldateien zu abschneiden, die in den Schritten 6 und 10 sichern wurden. Dieser Schritt ist optional. Rufen Sie jedoch nur dann CertSrvBackupTruncateLogs auf, wenn alle dateien, die von CertSrvBackupGetDatabaseNames und CertSrvBackupGetBackupLogs zurückgegeben wurden, sicherungsgesichert wurden (andernfalls ist der Wiederherstellungsvorgang nicht durchgeführt). Weitere Informationen finden Sie auf der Referenzseite zu CertSrvBackupTruncateLogs.
  12. Rufen Sie CertSrvBackupGetDynamicFileList auf, um die Namen der zu sichernden Nicht-Datenbankdateien zu bestimmen. Diese Dateien werden nur von der -Funktion identifiziert und müssen auf andere Wege sichern werden.
  13. Sichern Sie die in Schritt 12 identifizierten dynamischen Dateien mithilfe von Routinen, die von den Certadm.dll.
  14. Rufen Sie CertSrvBackupEnd auf, um die Sicherungssitzung zu beenden.
  15. Rufen Sie bei Bedarf CertSrvBackupFree auf, um Puffer frei zu geben, die von bestimmten Sicherungsfunktionen der Zertifikatdienste zugeordnet werden. Aufrufe von CertSrvBackupGetBackupLogs, CertSrvBackupGetDatabaseNamesund CertSrvBackupGetDynamicFileList weisen Puffer zu, die durch einen Aufruf von CertSrvBackupFree frei werden können.
  16. 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.