Delen via


Een peer uitnodigen voor een groep

In dit onderwerp wordt het proces besproken van het uitnodigen van een peer om lid te worden van een peergroep met behulp van de Peer Grouping-API's.

Voor een peergroep zijn geldige referenties vereist om deel te nemen. Referenties worden uitgegeven van buiten een groep in de vorm van uitnodigingen of rechtstreeks aan leden binnen een groep wanneer referentie-updates nodig zijn.

Groepslidcertificaten

Er wordt een peergroep gemaakt wanneer een toepassing een aanroep doet naar PeerGroupCreate.

Als u wilt deelnemen aan een peergroep, moet elke peer een peer-identiteit hebben. Roep PeerEnumId-entiteiten aan totdat alle peer-identiteiten die zijn gedefinieerd voor de peer zijn geretourneerd en selecteer de identiteit die moet worden gebruikt. Als er geen peer-identiteit bestaat, maakt u er een door PeerIdentityCreate-aan te roepen.

Elke peer-identiteit is gekoppeld aan een specifieke set referenties die kunnen worden gebruikt om peergroepslidmaatschap te bewijzen bij het verbinden, en bij het publiceren van records of het uitnodigen van extra leden. Deze referenties worden weergegeven als ketens van X.509-certificaten die groepslidmaatschapscertificaten (GMC) worden genoemd.

Als u de GMC wilt maken voor een peer-identiteit, moet u eerst de openbare sleutel verkrijgen. Deze sleutel wordt verkregen door PeerIdentityGetXML- aan te roepen op de potentiƫle genodigde en zijn peeridentiteit door te geven. Deze functie retourneert een met base 64 gecodeerd certificaat (IDC) dat de openbare RSA-sleutel bevat die wordt gebruikt voor het maken van de GMC voor de peer-identiteit (onder andere), ingekapseld in een XML-blob, in de volgende indeling:

<PEERIDENTITYINFO VERSION="1.0">
     <IDC xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
          <!-- Base-64 encoded certificate  -->
     </IDC>
</PEERIDENTITYINFO>

Deze tekenreeks kan worden doorgegeven aan PeerGroupCreateInvitation, welke een uitnodiging retourneert die de GMC voor die peer-identiteit bevat. De uitnodiging moet worden doorgegeven aan de genodigde met behulp van een ander proces, zoals e-mail, FTP of een beveiligde bestandsshare.

Alternatief kan de IDC ook in een nieuwe PEER_CREDENTIAL_INFO-structuur worden geplaatst en aan PeerGroupIssueCredentialsworden doorgegeven, waarmee eveneens een uitnodiging wordt gegenereerd.

Toepassingen mogen geen tags toevoegen in de PEERIDENTITYINFO tag of dit XML-fragment op welke manier dan ook wijzigen. Toepassingen mogen dit XML-fragment opnemen in andere XML-documenten, maar moeten alle toepassingsspecifieke XML verwijderen voordat dit fragment wordt doorgegeven aan de PeerGroupCreateInvitation- of PeerGroupIssueCredentials functies.

lid-GMC's worden uitgegeven door beheerders en de oprichter van de peergroep. Leden moeten, voordat de verlooptijd is verstreken, nieuwe GMC's met een verlengde levensduur aanschaffen. De peergroepbeheerder geeft bijgewerkte referenties door PeerGroupIssueCredentials aan te roepen met de bestaande referenties voor die peer.

De PEER_CREDENTIAL_INFO structuur bevat de basisgegevens over de lidmaatschapsstatus van een peer, inclusief de openbare sleutel voor de GMC. Nieuw uitgegeven inloggegevens kunnen worden gepubliceerd naar de peergroep door de vlag PEER_GROUP_STORE_CREDENTIALS te configureren in de oproep naar PeerGroupIssueCredentials. Wanneer de ontvanger van de nieuwe referenties lid wordt van de peergroep, worden bestaande referenties bijgewerkt door de peergroepinfrastructuur.

Een uitnodiging uitgeven

Een lid wordt uitgenodigd om deel te nemen aan de peergroep op een van de volgende twee manieren:

  • Een peergroepbeheerder roept PeerGroupCreateInvitation-aan, waarbij de XML-tekenreeks voor identiteitsgegevens die is verkregen van de potentiĆ«le genodigde wordt doorgegeven via een gemeenschappelijk out-of-bandmechanisme, zoals e-mail of een chatsessie. De uitnodiging wordt ook doorgegeven via een extern proces of mechanisme aan de peer, die deze uiteindelijk zal ontvangen als een XML-tekenreeks of tekstbestand.
  • Een peergroepbeheerder roept PeerGroupIssueCredentialsop. Als u deze functie wilt gebruiken, moet de peer al lidmaatschapsgegevens hebben gepubliceerd naar de peergroep (PEER_MEMBER) of een beschikbare openbare sleutel hebben (van het RSA-sleutelpaar dat wordt gebruikt om de onderwerpidentiteit te maken). In het eerste geval kan de PEER_CREDENTIAL_INFO structuur die is vereist voor PeerGroupIssueCredentials worden verkregen uit de PEER_MEMBER structuur; in het laatste geval kan een nieuwe PEER_CREDENTIAL_INFO structuur worden gevuld met de openbare sleutel.

Nadat de uitnodigingsstring is ontvangen, geeft de peer deze door aan PeerGroupJoin om lid te worden van de peergroep. Als de aanroep van PeerGroupJoin is geslaagd, kan de peer de peergroup later openen door PeerGroupOpenaan te roepen.

Een uitnodiging parseren

Een uitnodiging kan eventueel worden geparseerd door PeerGroupParseInvitation-aan te roepen, waardoor een PEER_INVITATION_INFO structuur wordt geretourneerd. De velden in de structuur kunnen gemakkelijk worden verkregen voor weergavedoeleinden.