次の方法で共有


ピアをグループに招待する

このトピックでは、ピア グループ化 API を使用してピア グループに参加するようにピアを招待するプロセスについて説明します。

ピア グループに参加するには、有効な資格情報が必要です。 資格情報は、招待の形式でグループの外部から発行されるか、資格情報の更新が必要な場合はグループ内のメンバーに直接発行されます。

グループ メンバー証明書

ピア グループは、アプリケーションが PeerGroupCreate を呼び出すときに作成されます。

ピア グループに参加するには、各ピアにピア ID が必要です。 ピアに対して定義されているすべてのピア ID が返されるまで PeerEnumIdentities を呼び出し、使用するピア ID を選択します。 ピア ID が存在しない場合は、 PeerIdentityCreate を呼び出して作成します。

各ピア ID は、接続時、およびレコードの発行または追加メンバーの招待時にピア グループ メンバーシップを証明するために使用できる特定の資格情報セットに関連付けられます。 これらの資格情報は、グループ メンバーシップ証明書 (GMC) と呼ばれる X.509 証明書のチェーンとして表されます。

ピア ID の GMC を作成するには、まず公開キーを取得する必要があります。 このキーは、潜在的な招待者に 対して PeerIdentityGetXML を呼び出し、そのピア ID を渡すことによって取得されます。 この関数は、ピア ID (特に) の GMC を作成するために使用される RSA 公開キーを含む base-64 でエンコードされた証明書 (IDC) を、XML BLOB にカプセル化された次の形式で返します。

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

この文字列は PeerGroupCreateInvitation に渡すことができます。この文字列は、そのピア ID の GMC を含む招待を返します。 招待は、電子メール、FTP、セキュリティで保護されたファイル共有などの別のプロセスを使用して招待者に渡す必要があります。

または、IDC 自体を新しい PEER_CREDENTIAL_INFO 構造に配置し、 PeerGroupIssueCredentials に渡すこともできます。これにより、同様に招待が生成されます。

アプリケーションでは、 PEERIDENTITYINFO タグ内にタグを追加したり、この XML フラグメントを変更したりすることはできません。 アプリケーションは、この XML フラグメントを他の XML ドキュメントに組み込むことができますが、 PeerGroupCreateInvitation 関数または PeerGroupIssueCredentials 関数にこのフラグメントを渡す前に、アプリケーション固有のすべての XML を取り除く必要があります。

メンバー GMC は、管理者とピア グループ作成者によって発行されます。 メンバーは、有効期限が経過する前に、有効期間が延長された新しい GMC を取得する必要があります。 ピア グループ管理者は、そのピアの既存の資格情報を使用して PeerGroupIssueCredentials を呼び出すことによって、更新された資格情報を発行します。

PEER_CREDENTIAL_INFO構造体には、ピアのメンバーシップ状態に関する基本データ (GMC の公開キーを含む) が含まれます。 PeerGroupIssueCredentials の呼び出しで PEER_GROUP_STORE_CREDENTIALS フラグを設定することで、新しく発行された資格情報をピア グループに発行できます。 新しい資格情報の受信者がピア グループに参加すると、既存の資格情報はピア グループ化インフラストラクチャによって更新されます。

招待の発行

メンバーは、次の 2 つの方法のいずれかでピア グループに参加するように招待されます。

  • ピア グループ管理者は PeerGroupCreateInvitation を呼び出し、電子メールや IM セッションなどの一般的な帯域外メカニズムを介して、潜在的な招待者から取得した ID 情報 XML 文字列を渡します。 招待は、外部プロセスまたはメカニズムを介してピアに渡され、最終的には XML 文字列またはテキスト ファイルとして受信されます。
  • ピア グループ管理者は PeerGroupIssueCredentials を呼び出します。 この関数を使用するには、ピア グループ (PEER_MEMBER) に既にメンバーシップ情報を公開しているか、(サブジェクト ID の作成に使用される RSA キー ペアの) 使用可能な公開キーを持っている必要があります。 前者の場合、PeerGroupIssueCredentials に必要なPEER_CREDENTIAL_INFO構造体は、PEER_MEMBER構造体から取得できます。後者の場合は、新しいPEER_CREDENTIAL_INFO構造体に公開キーを設定できます。

招待文字列を受信すると、ピアは PeerGroupJoin に渡してピア グループに参加します。 PeerGroupJoin の呼び出しが成功した場合、ピアは後で PeerGroupOpen を呼び出してピア グループを開くことができます。

招待の解析

必要に応じて、 PeerGroupParseInvitation を呼び出すことで招待を解析できます。これにより、 PEER_INVITATION_INFO 構造体が返されます。 構造内のフィールドは、表示目的で簡単に取得できます。