Защищенная синхронизация ключей и мета-данных групп
This commit is contained in:
@@ -12,6 +12,14 @@ export class PacketGroupJoin extends Packet {
|
||||
|
||||
private groupId: string = "";
|
||||
private groupStatus: GroupStatus = GroupStatus.NOT_JOINED;
|
||||
/**
|
||||
* Строка группы, которая содержит информацию о группе, такую как ее название, описание и ключ
|
||||
* Строка зашифрована обратимым шифрованием, где ключом выступает - реальный приватный ключ
|
||||
* входящего в группу клиента. Нужно это для будущей синхронзации, так как клиенту на его другом
|
||||
* устройстве нужно получить ключ группы и ее информацию. Сервер расшифровать эту строку не может. Эту
|
||||
* строку может расшифровать только клиент, так как она зашифрована его приватным ключом
|
||||
*/
|
||||
private groupString: string = "";
|
||||
|
||||
public getPacketId(): number {
|
||||
return 0x14;
|
||||
@@ -20,6 +28,7 @@ export class PacketGroupJoin extends Packet {
|
||||
public _receive(stream: Stream): void {
|
||||
this.groupId = stream.readString();
|
||||
this.groupStatus = stream.readInt8();
|
||||
this.groupString = stream.readString();
|
||||
}
|
||||
|
||||
public _send(): Promise<Stream> | Stream {
|
||||
@@ -27,6 +36,7 @@ export class PacketGroupJoin extends Packet {
|
||||
stream.writeInt16(this.getPacketId());
|
||||
stream.writeString(this.groupId);
|
||||
stream.writeInt8(this.groupStatus);
|
||||
stream.writeString(this.groupString);
|
||||
return stream;
|
||||
}
|
||||
|
||||
@@ -45,5 +55,13 @@ export class PacketGroupJoin extends Packet {
|
||||
public getGroupStatus(): GroupStatus {
|
||||
return this.groupStatus;
|
||||
}
|
||||
|
||||
public setGroupString(groupString: string) {
|
||||
this.groupString = groupString;
|
||||
}
|
||||
|
||||
public getGroupString(): string {
|
||||
return this.groupString;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user