邀請對等互連至群組
本主題討論使用對等群組 API 邀請對等加入對等群組的程式。
對等群組需要有效的認證才能參與。 認證會以邀請的形式從群組外部發出,或在需要認證更新時直接發出給群組內的成員。
群組成員憑證
應用程式呼叫 PeerGroupCreate時,就會建立對等群組。
若要參與對等群組,每個對等都必須有對等身分識別。 呼叫 PeerEnumIdentities ,直到針對對等定義的所有對等身分識別都已傳回為止,然後選取應該使用的對等識別。 如果對等識別不存在,請呼叫 PeerIdentityCreate 來建立一個。
每個對等身分識別都與一組特定的認證相關聯,可用來在連線時證明對等群組成員資格,以及發佈記錄或邀請其他成員時。 這些認證以 X.509 憑證 鏈結表示,稱為「群組成員資格憑證」 (GMC) 。
若要建立對等身分識別的 GMC,您必須先取得其公開金鑰。 透過在潛在邀請者上呼叫 PeerIdentityGetXML 並傳入其對等身分識別,即可取得此金鑰。 此函式會傳回 base-64 編碼的憑證 (IDC) ,其中包含用來建立對等身分識別的 RSA 公開金鑰, (以下列格式封裝) 的 GMC:
<PEERIDENTITYINFO VERSION="1.0">
<IDC xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
<!-- Base-64 encoded certificate -->
</IDC>
</PEERIDENTITYINFO>
此字串可以傳遞至 PeerGroupCreateInvitation,此字串會傳回包含該對等身分識別之 GMC 的邀請。 邀請必須使用不同的程式傳遞至邀請者,例如電子郵件、FTP 或安全檔案共用。
或者,IDC 本身可以放在新的 PEER_CREDENTIAL_INFO 結構中,並傳遞至 PeerGroupIssueCredentials,這同樣會產生邀請。
請注意,應用程式不允許在 PEERIDENTITYINFO 標籤內新增標記,或以任何方式修改此 XML 片段。 應用程式允許將此 XML 片段併入其他 XML 檔,但必須先移除所有應用程式特定 XML,才能將此片段傳遞至 PeerGroupCreateInvitation 或 PeerGroupIssueCredentials 函 式。
成員 GMC 是由系統管理員和對等群組建立者所發出。 成員必須在到期時間經過之前,取得具有延長存留期的新 GMC。 對等群組管理員會使用該對等的現有認證呼叫 PeerGroupIssueCredentials ,以發出更新的認證。
PEER_CREDENTIAL_INFO結構包含對等成員資格狀態的基本資料,包括其 GMC 的公開金鑰。 在 對 PeerGroupIssueCredentials的呼叫中設定PEER_GROUP_STORE_CREDENTIALS旗標,即可將新發行的認證發佈至對等群組。 當新認證的收件者加入對等群組時,現有的認證將會由對等群組基礎結構更新。
發出邀請
邀請成員以下列兩種方式之一加入對等群組:
- 對等群組管理員會呼叫 PeerGroupCreateInvitation,傳入透過一般頻外機制從潛在受邀者取得的身分識別資訊 XML 字串,例如電子郵件或 IM 會話。 邀請也會透過一些外部進程或機制傳遞至對等,最終會將其接收為 XML 字串或文字檔。
- 對等群組管理員會呼叫 PeerGroupIssueCredentials。 若要使用此函式,對等必須已經將成員資格資訊發佈至對等群組 (PEER_MEMBER) ,或具有用來建立主體身分識別) 之 RSA 金鑰組的可用公開金鑰 (。 在先前的案例中,您可以從PEER_MEMBER結構取得PeerGroupIssueCredentials所需的PEER_CREDENTIAL_INFO結構;在後者的情況下,新的PEER_CREDENTIAL_INFO結構可以填入公開金鑰。
收到邀請字串之後,對等會將它傳遞給 PeerGroupJoin 以加入對等群組。 如果 對 PeerGroupJoin 的呼叫成功,對等稍後可以呼叫 PeerGroupOpen來開啟對等群組。
剖析邀請
您可以選擇性地呼叫 PeerGroupParseInvitation來剖析邀請,這會傳回 PEER_INVITATION_INFO 結構。 結構中的欄位可以輕鬆地取得以供顯示之用。