Bir Gruba Eş Davet Etme
Bu konu başlığında, Eş Gruplandırma API'lerini kullanarak eşleri bir eş grubuna katılmaya davet etme işlemi açıklanmaktadır.
Akran grubu, katılım için geçerli kimlik bilgileri gerektirir. Kimlik bilgileri, davet biçiminde bir grubun dışından veya kimlik bilgisi güncelleştirmeleri gerektiğinde doğrudan grup içindeki üyelere verilir.
Grup Üyesi Sertifikaları
Bir uygulama PeerGroupCreateçağrısı yaptığında bir eş grubu oluşturulur.
Bir eş grubuna katılmak için her eş bir eş kimliğine sahip olmalıdır. Eş için tanımlanan tüm eş kimlikleri döndürülene kadar peerEnumId kimliklerini çağırın ve kullanılacak olanı seçin. Bir eş kimliği yoksa, PeerIdentityCreateçağrısı yaparak bir tane oluşturun.
Her eş kimliği, bağlanırken ve kayıtları yayımlarken veya ek üyeleri davet ederken eş grup üyeliğini kanıtlamak için kullanılabilecek belirli bir kimlik bilgileri kümesiyle ilişkilendirilir. Bu kimlik bilgileri, Grup Üyeliği Sertifikaları (GMC) olarak adlandırılan X.509 sertifikası zincirleri olarak temsil edilir.
Bir eş kimliğinin GMC'sini oluşturmak için önce açık anahtarını almanız gerekir. Bu anahtar, olası davetli üzerinde PeerIdentityGetXML çağrılarak ve eş kimliğini ileterek elde edilir. Bu işlev, aşağıdaki biçimde, eş kimliğin GMC'sini oluşturmak için kullanılan RSA ortak anahtarını içeren base-64 kodlanmış bir sertifikayı (IDC) ve diğer öğeleri kapsayan bir XML blobu döndürür.
<PEERIDENTITYINFO VERSION="1.0">
<IDC xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
<!-- Base-64 encoded certificate -->
</IDC>
</PEERIDENTITYINFO>
Bu dize, bu eş kimliğe ait GMC'yi içeren bir daveti döndüren PeerGroupCreateInvitationişlemlerine geçirilebilir. Davet e-posta, FTP veya güvenli dosya paylaşımı gibi farklı bir işlem kullanılarak davetliye geçirilmelidir.
Alternatif olarak, IDC'nin kendisi yeni bir PEER_CREDENTIAL_INFO yapısına yerleştirilebilir ve bu yapı, benzer şekilde davetiye oluşturan PeerGroupIssueCredentials'e geçirilebilir.
Uygulamaların PEERIDENTITYINFO etiketine etiket eklemesine veya bu XML parçasını herhangi bir şekilde değiştirmesine izin verilmediğini unutmayın. Uygulamaların bu XML parçasını diğer XML belgelerine eklemesine izin verilir, ancak bu parçayı PeerGroupCreateInvitation veya PeerGroupIssueCredentials işlevlerine geçirmeden önce uygulamaya özgü tüm XML'lerin çıkarılması gerekir.
Üye GMC'ler yöneticiler ve eş grup oluşturucusu tarafından verilir. Üyelerin son kullanma süresi geçmeden önce GMC'lerinin kullanım ömrü uzatılmış yeni GMC'leri edinmeleri gerekir. Eş grup yöneticisi, PeerGroupIssueCredentials söz konusu eş için mevcut kimlik bilgileriyle çağırarak güncelleştirilmiş kimlik bilgilerini gönderir.
PEER_CREDENTIAL_INFO yapısı, GMC'sinin ortak anahtarı da dahil olmak üzere bir eşin üyelik durumuyla ilgili temel verileri içerir. Yeni verilen kimlik bilgileri, çağrıdaki PEER_GROUP_STORE_CREDENTIALS bayrağı PeerGroupIssueCredentialsolarak ayarlanarak eş grubuna yayımlanabilir. Yeni kimlik bilgilerinin alıcısı eş grubuna katıldığında, mevcut kimlik bilgileri Eş Gruplandırma Altyapısı tarafından güncelleştirilir.
Davet Verme
Bir üye, aşağıdaki iki yoldan biriyle eş gruba katılmaya davet edilir:
- Eş grup yöneticisi, olası davetliden alınan kimlik bilgileri XML dizesini e-posta veya anlık ileti oturumu gibi ortak bir bant dışı mekanizma aracılığıyla aktararak, PeerGroupCreateInvitationçağrısı yapar. Davet, bir dış işlem veya mekanizma aracılığıyla eşe iletilir ve nihayetinde bir XML dizesi veya metin dosyası olarak alınır.
- Bir eş grup yöneticisi PeerGroupIssueCredentialsçağırır. Bu işlevi kullanmak için eş, üyelik bilgilerini zaten eş grubuna (PEER_MEMBER) yayımlamış veya kullanılabilir bir ortak anahtara (konu kimliğini oluşturmak için kullanılan RSA anahtar çiftinin) sahip olması gerekir. Önceki örnekte, PeerGroupIssueCredentials için gereken PEER_CREDENTIAL_INFO yapısı PEER_MEMBER yapısından elde edilebilir; ikinci durumda, ortak anahtarla yeni bir PEER_CREDENTIAL_INFO yapısı doldurulabilir.
Davet dizesini aldıktan sonra, eş, eş gruba katılmak için PeerGroupJoin geçirir. PeerGroupJoin çağrısı başarılı olursa, eş daha sonra PeerGroupOpençağırarak eş grubu açabilir.
Davetiyeyi Ayrıştırma
İsteğe bağlı olarak, PeerGroupParseInvitation çağrılarak, bir davet ayrıştırılabilir ve PEER_INVITATION_INFO yapısı döndürülebilir. Yapıdaki alanlar, görüntüleme amacıyla kolayca elde edilebilir.