ICertPolicy2-Schnittstelle (certpol.h)
Die ICertPolicy2-Schnittstelle ist eine von zwei Schnittstellen, die die Kommunikation zwischen der Certificate Services-Server-Engine und dem Richtlinienmodul ermöglichen.
- Initialisieren Sie das Richtlinienmodul.
- Benachrichtigen Sie das Richtlinienmodul, dass eine neue Anforderung in das System eingedrungen ist. Das Richtlinienmodul kann dann die Methoden der ICertServerPolicy-Schnittstelle verwenden, um anzugeben, dass die Anforderung gut ist und ausgegeben werden sollte, schlecht ist und abgelehnt werden sollte oder zur späteren Prüfung gehalten werden sollte.
- Rufen Sie eine Beschreibung des Richtlinienmoduls und seiner Funktionalität ab.
- Benachrichtigen Sie das Richtlinienmodul, dass der Zertifikatdiensteserver beendet wird.
Certificate Services-Schnittstellen unterstützen sowohl Apartmentthreading- als auch Free-Threading-Modelle. Für einen besseren Durchsatz wird freies Threading empfohlen.
Vererbung
Die ICertPolicy2-Schnittstelle erbt von ICertPolicy und IDispatch. ICertPolicy2 verfügt auch über die folgenden Membertypen:
Methoden
Die ICertPolicy2-Schnittstelle verfügt über diese Methoden.
ICertPolicy2::GetManageModule Ruft die der ICertPolicy2-Schnittstelle zugeordnete ICertManageModule-Schnittstelle ab, indem GetManageModule aufgerufen und die Adresse eines Zeigers an ein ICertManageModule übergeben wird. |
Hinweise
Implementierer von ICertPolicy sollten auch ICertManageModule implementieren. Darüber hinaus muss die ProgID für eine Klasse, die ICertPolicy implementiert, einer Benennungskonvention entsprechen. Insbesondere muss die ProgID folgende Form aufweisen:
"MyApp. Richtlinie"
Wobei MyApp ein Bezeichner ist, der die Anwendung identifiziert. In C++ kann beispielsweise Folgendes im DECLARE_REGISTRY Makro einer Klasse (CMyCertPolicyModule) verwendet werden, die ICertPolicy implementiert.
DECLARE_REGISTRY(
CMyCertPolicyModule,
L"MyCode.Policy.1",
L"MyCode.Policy",
IDS_CERTPOLICYMODULE_DESC,
THREADFLAGS_BOTH);
Im vorherigen Beispiel ist der wert IDS_CERTPOLICYMODULE_DESC ein anwendungsspezifischer Bezeichner in der Ressourcendatei (.rc) für eine Zeichenfolge, die die -Klasse beschreibt.
Zeichenfolgenkonstanten, die in Certmod.h definiert sind, können verwendet werden, um die Anwendung der Benennungskonvention zu vereinfachen.
Konstante | Wert |
---|---|
wszCERTPOLICYMODULE_POSTFIX | TEXT(". Richtlinie") |
Es kann nicht mehr als ein Visual Basic Scripting Edition-Richtlinienmodul gleichzeitig auf dem Certificate Services-Server registriert werden. Wenn mehr als ein solches Richtlinienmodul auf dem Zertifikatdiensteserver registriert ist, kann das MMC-Snap-In der Zertifizierungsstelle, die Zertifikatdiensteanwendung oder das Certutil-Tool Fehler verursachen. Beachten Sie, dass die Visual Basic Scripting Edition-Entwicklungsumgebung eine DLL automatisch registriert, wenn sie erfolgreich erstellt wurde. Daher kann diese Situation auftreten, wenn ein Visual Basic Scripting Edition-Richtlinienmodul bereits registriert ist und ein anderes Visual Basic Scripting Edition-Richtlinienmodul erstellt wird. Um diese Situation zu vermeiden, müssen Sie die Registrierung eines der Visual Basic Scripting Edition-Richtlinienmodule aufheben, indem Sie die Befehlszeilenanweisung regsvr32 /u FileName.dllverwenden, wobei FileName.dll der Name des Visual Basic Scripting Edition-Richtlinienmoduls ist, das Sie nicht aktivieren möchten.
Implementierer von ICertPolicy in Visual Basic Scripting Edition müssen ihr Projekt in folgendem Format benennen:
"MyApp"
Wobei MyApp ein Bezeichner ist, der die Anwendung identifiziert; Darüber hinaus muss die Klasse, die ICertPolicy implementiert, den Namen "Policy" haben.
Anforderungen
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certpol.h (include Certsrv.h) |