Einladen eines Peers zu einer Gruppe

In diesem Thema wird der Prozess des Einladens eines Peers zum Beitreten 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 ausgegeben, wenn Aktualisierungen der Anmeldeinformationen erforderlich sind.

Gruppenmitgliedszertifikate

Eine Peergruppe wird erstellt, wenn eine Anwendung peerGroupCreate aufruft.

Um an einer Peergruppe teilnehmen zu können, 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 PeerIdentityCreateaufrufen.

Jede Peeridentität ist einem bestimmten Satz von Anmeldeinformationen zugeordnet, die verwendet werden können, um die Peergruppenmitgliedschaft beim Herstellen einer Verbindung sowie beim Veröffentlichen von Datensätzen oder beim Einladen zusätzlicher Mitglieder nachzuweisen. Diese Anmeldeinformationen werden als Ketten von X.509-Zertifikaten dargestellt, die als Gruppenmitgliedschaftszertifikate (Group Membership Certificates, GMC) bezeichnet werden.

Um den GMC für eine Peeridentität zu erstellen, müssen Sie zunächst den öffentlichen Schlüssel abrufen. Dieser Schlüssel wird abgerufen, indem PeerIdentityGetXML für den potenziellen eingeladenen Teilnehmer aufgerufen und seine Peeridentität übergeben wird. Diese Funktion gibt ein Base64-codiertes Zertifikat (IDC) zurück, das den öffentlichen RSA-Schlüssel enthält, der verwendet wird, um den GMC für die Peeridentität (unter anderem) zu erstellen, die in einem XML-Blob gekapselt ist, 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 mit einem anderen Prozess wie E-Mail, FTP oder einer sicheren Dateifreigabe an den eingeladenen Teilnehmer übergeben werden.

Alternativ kann das 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 auslassen, 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 GMCs mit erweiterter Lebensdauer erhalten, bevor die Ablaufzeit abgelaufen ist. Der Peergruppenadministrator gibt aktualisierte Anmeldeinformationen aus, indem er PeerGroupIssueCredentials mit den vorhandenen Anmeldeinformationen für diesen Peer aufruft.

Die PEER _ CREDENTIAL _ INFO-Struktur enthält die grundlegenden Daten zum Mitgliedschaftsstatus eines Peers, 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 PeerGroupIssueCredentialsfestgelegt 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 auf eine der folgenden beiden Arten eingeladen, der Peergruppe beizutreten:

  • Ein Peergruppenadministrator ruft PeerGroupCreateInvitationauf und übergibt die XML-Zeichenfolge mit Identitätsinformationen, die vom potenziellen eingeladenen Benutzer über einen allgemeinen Out-of-Band-Mechanismus wie E-Mail oder eine IM-Sitzung abgerufen wurde. Die Einladung wird auch über einen externen Prozess oder Mechanismus an den Peer übergeben, der sie letztendlich als XML-Zeichenfolge oder Textdatei empfängt.
  • Ein Peergruppenadministrator ruft PeerGroupIssueCredentials auf. Um diese Funktion verwenden zu können, muss der Peer bereits Mitgliedschaftsinformationen für die Peergruppe (PEER _ MEMBER)veröffentlicht haben oder über einen verfügbaren öffentlichen Schlüssel (des RSA-Schlüsselpaars verfügen, das zum Erstellen der Antragstelleridentität verwendet wird). 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.

Nach dem Empfang der Einladungszeichenfolge ü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 PeerGroupOpenaufruft.

Analysieren einer Einladung

Optional kann eine Einladung durch Aufrufen von PeerGroupParseInvitationanalysiert werden, wodurch eine PEER INVITATION _ _ INFO-Struktur zurückgegeben wird. Die Felder in der Struktur können leicht zu Anzeigezwecken abgerufen werden.