Einladen eines Peers zu einer Gruppe
In diesem Thema wird der Prozess der Einladung eines Peers zum Beitritt zu einer Peergruppe mithilfe der Peergruppierungs-APIs erläutert.
Eine Peergruppe erfordert gültige Anmeldeinformationen für die Teilnahme. Anmeldeinformationen werden von außerhalb einer Gruppe in Form von Einladungen oder direkt an Mitglieder innerhalb einer Gruppe ausgestellt, wenn Anmeldeinformationen aktualisiert werden müssen.
Gruppenmitgliedszertifikate
Eine Peergruppe wird erstellt, wenn eine Anwendung peerGroupCreate aufruft.
Um an einer Peergruppe teilzunehmen, muss jeder Peer über eine Peeridentität verfügen. Rufen Sie PeerEnumIdentities auf, bis alle für den Peer definierten Peeridentitäten zurückgegeben wurden, und wählen Sie die zu verwendende Identität aus. Wenn keine Peeridentität vorhanden ist, erstellen Sie eine, indem Sie PeerIdentityCreate aufrufen.
Jede Peeridentität ist einem bestimmten Satz von Anmeldeinformationen zugeordnet, die zum Nachweis der Peergruppenmitgliedschaft beim Herstellen einer Verbindung sowie beim Veröffentlichen von Datensätzen oder beim Einladen zusätzlicher Mitglieder verwendet werden können. Diese Anmeldeinformationen werden als Ketten von X.509-Zertifikaten dargestellt, die als Gruppenmitgliedschaftszertifikate (GMC) bezeichnet werden.
Um den GMC für eine Peeridentität zu erstellen, müssen Sie zuerst den öffentlichen Schlüssel abrufen. Dieser Schlüssel wird abgerufen, indem PeerIdentityGetXML für den potenziellen Eingeladenen aufgerufen und dessen Peeridentität übergeben wird. Diese Funktion gibt ein Base64-codiertes Zertifikat (IDC) zurück, das den öffentlichen RSA-Schlüssel enthält, der unter anderem zum Erstellen der GMC für die Peeridentität verwendet wird, gekapselt in einem XML-Blob, im folgenden Format:
<PEERIDENTITYINFO VERSION="1.0">
<IDC xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
<!-- Base-64 encoded certificate -->
</IDC>
</PEERIDENTITYINFO>
Diese Zeichenfolge kann an PeerGroupCreateInvitation übergeben werden, die eine Einladung zurückgibt, die den GMC für diese Peeridentität enthält. Die Einladung muss mithilfe eines anderen Prozesses wie E-Mail, FTP oder einer sicheren Dateifreigabe an den Eingeladenen übergeben werden.
Alternativ kann die IDC selbst in einer neuen PEER_CREDENTIAL_INFO-Struktur platziert und an PeerGroupIssueCredentials übergeben werden, die ebenfalls eine Einladung generiert.
Beachten Sie, dass Anwendungen keine Tags innerhalb des PEERIDENTITYINFO-Tags hinzufügen oder dieses XML-Fragment in irgendeiner Weise ändern dürfen. Anwendungen dürfen dieses XML-Fragment in andere XML-Dokumente integrieren, müssen jedoch alle anwendungsspezifischen XML-Dateien entfernen, bevor sie dieses Fragment an die Funktionen PeerGroupCreateInvitation oder PeerGroupIssueCredentials übergeben.
Mitglieds-GMCs werden von Administratoren und dem Ersteller der Peergruppe ausgestellt. Mitglieder müssen neue GVO mit verlängerter Lebensdauer ihrer GVO erhalten, bevor die Ablaufzeit verstrichen ist. Der Peergruppenadministrator gibt aktualisierte Anmeldeinformationen aus, indem peerGroupIssueCredentials mit den vorhandenen Anmeldeinformationen für diesen Peer aufgerufen wird.
Die PEER_CREDENTIAL_INFO-Struktur enthält die grundlegenden Daten zur Mitgliedschaft eines Peers status, einschließlich des öffentlichen Schlüssels für den GMC. Neu ausgestellte Anmeldeinformationen können in der Peergruppe veröffentlicht werden, indem das flag PEER_GROUP_STORE_CREDENTIALS im Aufruf von PeerGroupIssueCredentials festgelegt wird. Wenn der Empfänger der neuen Anmeldeinformationen der Peergruppe beitritt, werden die vorhandenen Anmeldeinformationen von der Peergruppierungsinfrastruktur aktualisiert.
Ausstellen einer Einladung
Ein Mitglied wird eingeladen, der Peergruppe auf eine der folgenden zwei Arten beizutreten:
- Ein Peergruppenadministrator ruft PeerGroupCreateInvitation auf und übergibt die XML-Zeichenfolge der Identitätsinformationen, die vom potenziellen Eingeladenen über einen gemeinsamen Out-of-Band-Mechanismus wie E-Mail oder eine Chatsitzung abgerufen wurde. Die Einladung wird auch über einen externen Prozess oder Mechanismus an den Peer übergeben, der sie letztendlich als XML-Zeichenfolge oder Textdatei erhält.
- Ein Peergruppenadministrator ruft PeerGroupIssueCredentials auf. Um diese Funktion verwenden zu können, muss der Peer bereits Mitgliedschaftsinformationen für die Peergruppe veröffentlicht haben (PEER_MEMBER) oder über einen verfügbaren öffentlichen Schlüssel (des RSA-Schlüsselpaars, das zum Erstellen der Antragstelleridentität verwendet wurde). Im ersten Fall kann die für PeerGroupIssueCredentials erforderliche PEER_CREDENTIAL_INFO-Struktur aus der PEER_MEMBER-Struktur abgerufen werden. Im letzteren Fall kann eine neue PEER_CREDENTIAL_INFO-Struktur mit dem öffentlichen Schlüssel aufgefüllt werden.
Nachdem die Einladungszeichenfolge empfangen wurde, übergibt der Peer sie an PeerGroupJoin , um der Peergruppe beizutreten. Wenn der Aufruf von PeerGroupJoin erfolgreich ist, kann der Peer die Peergruppe später öffnen, indem er PeerGroupOpen aufruft.
Analysieren einer Einladung
Optional kann eine Einladung analysiert werden, indem PeerGroupParseInvitation aufgerufen wird, wodurch eine PEER_INVITATION_INFO-Struktur zurückgegeben wird. Die Felder in der Struktur können einfach zu Anzeigezwecken abgerufen werden.