Bagikan melalui


Mengundang Serekan ke Grup

Topik ini membahas proses mengundang serekan untuk bergabung dengan grup serekan menggunakan API Pengelompokan Serekan.

Grup serekan memerlukan kredensial yang valid untuk berpartisipasi. Kredensial dikeluarkan dari luar grup dalam bentuk undangan, atau langsung ke anggota dalam grup saat pembaruan kredensial diperlukan.

Sertifikat Anggota Grup

Grup serekan dibuat saat aplikasi melakukan panggilan ke PeerGroupCreate.

Untuk berpartisipasi dalam grup serekan, setiap serekan harus memiliki identitas serekan. Panggil PeerEnumIdentities hingga semua identitas serekan yang ditentukan untuk serekan telah dikembalikan, dan pilih identitas yang harus digunakan. Jika identitas serekan tidak ada, buat identitas dengan memanggil PeerIdentityCreate.

Setiap identitas serekan dikaitkan dengan sekumpulan kredensial tertentu yang dapat digunakan untuk membuktikan keanggotaan grup serekan saat menyambungkan, serta saat menerbitkan rekaman atau mengundang anggota tambahan. Kredensial ini direpresentasikan sebagai rantai sertifikat X.509 yang disebut Sertifikat Keanggotaan Grup (GMC).

Untuk membuat GMC untuk identitas serekan, Anda harus terlebih dahulu mendapatkan kunci publiknya. Kunci ini diperoleh dengan memanggil PeerIdentityGetXML pada calon undangan dan meneruskan identitas serekannya. Fungsi ini mengembalikan sertifikat yang dikodekan base-64 (IDC) yang berisi kunci umum RSA yang digunakan untuk membuat GMC untuk identitas serekan (antara lain), dienkapsulasi dalam blob XML, dalam format berikut:

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

String ini dapat diteruskan ke PeerGroupCreateInvitation, yang mengembalikan undangan yang berisi GMC untuk identitas serekan tersebut. Undangan harus diteruskan ke undangan menggunakan proses yang berbeda seperti email, FTP, atau berbagi file yang aman.

Atau, IDC itu sendiri dapat ditempatkan dalam struktur PEER_CREDENTIAL_INFO baru dan diteruskan ke PeerGroupIssueCredentials, yang juga menghasilkan undangan.

Perhatikan bahwa aplikasi tidak diizinkan untuk menambahkan tag dalam tag PEERIDENTITYINFO atau mengubah fragmen XML ini dengan cara apa pun. Aplikasi diizinkan untuk menggabungkan fragmen XML ini ke dalam dokumen XML lain, tetapi harus menghapus semua XML khusus aplikasi sebelum meneruskan fragmen ini ke fungsi PeerGroupCreateInvitation atau PeerGroupIssueCredentials .

GMC anggota dikeluarkan oleh administrator dan pembuat grup serekan. Anggota harus mendapatkan GMC baru dengan masa pakai yang diperpanjang GMC mereka sebelum waktu kedaluwarsa berlalu. Administrator grup serekan mengeluarkan kredensial yang diperbarui dengan memanggil PeerGroupIssueCredentials dengan kredensial yang ada untuk peer tersebut.

Struktur PEER_CREDENTIAL_INFO berisi data dasar pada status keanggotaan serekan, termasuk kunci umum untuk GMC mereka. Kredensial yang baru diterbitkan dapat diterbitkan ke grup serekan dengan mengatur bendera PEER_GROUP_STORE_CREDENTIALS dalam panggilan ke PeerGroupIssueCredentials. Saat penerima kredensial baru bergabung dengan grup serekan, kredensial yang ada akan diperbarui oleh Infrastruktur Pengelompokan Serekan.

Mengeluarkan Undangan

Anggota diundang untuk bergabung dengan grup serekan dengan salah satu dari dua cara berikut:

  • Administrator grup serekan memanggil PeerGroupCreateInvitation, meneruskan string XML informasi identitas yang diperoleh dari calon undangan melalui mekanisme out-of-band umum, seperti email atau sesi IM. Undangan juga diteruskan melalui beberapa proses atau mekanisme eksternal ke serekan, yang pada akhirnya akan menerimanya sebagai string XML atau file teks.
  • Administrator grup serekan memanggil PeerGroupIssueCredentials. Untuk menggunakan fungsi ini, serekan harus telah menerbitkan informasi keanggotaan ke grup serekan (PEER_MEMBER), atau memiliki kunci publik yang tersedia (dari pasangan kunci RSA yang digunakan untuk membuat identitas subjek). Dalam kasus sebelumnya, struktur PEER_CREDENTIAL_INFO yang diperlukan untuk PeerGroupIssueCredentials dapat diperoleh dari struktur PEER_MEMBER ; dalam kasus terakhir, struktur PEER_CREDENTIAL_INFO baru dapat diisi dengan kunci umum.

Setelah menerima string undangan, rekan meneruskannya ke PeerGroupJoin untuk bergabung dengan grup serekan. Jika panggilan ke PeerGroupJoin berhasil, serekan nantinya dapat membuka grup serekan dengan memanggil PeerGroupOpen.

Mengurai Undangan

Secara opsional, undangan dapat diurai dengan memanggil PeerGroupParseInvitation, yang mengembalikan struktur PEER_INVITATION_INFO . Bidang dalam struktur dapat dengan mudah diperoleh untuk tujuan tampilan.