Package: skissm
The skissm package is the protobuf designed for e2ee applications to work with underlying security module.
Package for skissm software security module.
skissm/AcceptMsg.proto
AcceptMsg
Msg form invitee for completing a key agreement.
Field | Type | Label | Description |
---|---|---|---|
from | E2eeAddress | The sender's address. | |
to | E2eeAddress | The receiver's address. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
encaps_ciphertext | bytes | The ciphertext encapsulated by the inviter's identity public key, empty in ECC. | |
ratchet_key | bytes | The invitee's ratchet key. |
skissm/AcceptRequest.proto
AcceptRequest
Request for sending an accept msg.
Field | Type | Label | Description |
---|---|---|---|
msg | AcceptMsg | The included msg for this request. |
skissm/AcceptResponse.proto
AcceptResponse
Response for sending Accept msg.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/Account.proto
Account
Account for keeping keys and registeration information.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version used for this account. | |
e2ee_pack_id | uint32 | The e2ee pack ID used for this account. | |
address | E2eeAddress | The address with device ID for this account. | |
identity_key | IdentityKey | The identity key pair. | |
signed_pre_key | SignedPreKey | The signed pre-key pair. | |
one_time_pre_key_list | OneTimePreKey | repeated | The one-time pre-key pairs. |
next_one_time_pre_key_id | uint32 | Next one-time pre-key pair ID. | |
saved | bool | The account is saved or not. | |
password | string | The password for logining to server. | |
auth | string | The jwt for authorizing request to server. | |
expires_in | int64 | The expiration time of auth. |
skissm/AcquireSyncMsg.proto
AcquireSyncMsg
Msg for acquiring un-processed msgs form server.
Field | Type | Label | Description |
---|---|---|---|
last_proto_msg_tag | ProtoMsgTag | The last handled tag for acquiring un-handled msg from server. |
skissm/AddGroupMemberDeviceMsg.proto
AddGroupMemberDeviceMsg
Msg for adding a device of group member.
Field | Type | Label | Description |
---|---|---|---|
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender_address | E2eeAddress | The sender's address. | |
sequence | uint32 | The sequence for related group session. | |
group_info | GroupInfo | The group information, including the group name, the group address and all of the group members. | |
adding_member_device | GroupMemberInfo | The information of a group member's new device. |
skissm/AddGroupMemberDeviceRequest.proto
AddGroupMemberDeviceRequest
Request for adding a device of group member.
Field | Type | Label | Description |
---|---|---|---|
msg | AddGroupMemberDeviceMsg | The included msg for this request. |
skissm/AddGroupMemberDeviceResponse.proto
AddGroupMemberDeviceResponse
Response for adding a device of group member.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
group_member_list | GroupMember | repeated | The group members. |
adding_member_device_info | GroupMemberInfo | The information of a group member's new device. |
skissm/AddGroupMembersMsg.proto
AddGroupMembersMsg
Msg for adding group members.
Field | Type | Label | Description |
---|---|---|---|
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender_address | E2eeAddress | The sender's address. | |
sequence | uint32 | The sequence for related group session. | |
group_info | GroupInfo | The group information, including the group name, the group address and all of the group members. | |
adding_member_list | GroupMember | repeated | The adding group members. |
adding_member_info_list | GroupMemberInfo | repeated | The adding group members' information. |
skissm/AddGroupMembersRequest.proto
AddGroupMembersRequest
Request for adding group members.
Field | Type | Label | Description |
---|---|---|---|
msg | AddGroupMembersMsg | The included msg for this request. |
skissm/AddGroupMembersResponse.proto
AddGroupMembersResponse
Response for adding group members.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server | |
msg | string | The message given by the server | |
added_group_member_list | GroupMember | repeated | The added group members |
group_member_list | GroupMember | repeated | The group members |
adding_member_info_list | GroupMemberInfo | repeated | The adding group members' information |
skissm/AddUserDeviceMsg.proto
AddUserDeviceMsg
Msg for adding user device.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | The added user e2ee address | |
old_address_list | E2eeAddress | repeated | The list of other e2ee address that has the same user ID |
skissm/ChainKey.proto
ChainKey
The chain key.
Field | Type | Label | Description |
---|---|---|---|
index | uint32 | The index of the chain key. | |
shared_key | bytes | The chain key data. |
skissm/ChainablePublickey.proto
ChainablePublickey
A public key chain with each of it's key should be signed by the first key.
Field | Type | Label | Description |
---|---|---|---|
id | int32 | The public key id started from 0. | |
public_key | bytes | The public key. | |
signature | bytes | The signature of id |
skissm/ClientHeartbeatMsg.proto
ClientHeartbeatMsg
Msg for client heartbeat.
Field | Type | Label | Description |
---|---|---|---|
client_t | int64 | The timestamp of client. |
skissm/ConsumeProtoMsgRequest.proto
ConsumeProtoMsgRequest
Request for consuming a proto msg received from server.
Field | Type | Label | Description |
---|---|---|---|
proto_msg_id | string | The proto msg ID to be consumed. |
skissm/ConsumeProtoMsgResponse.proto
ConsumeProtoMsgResponse
Response for consuming a proto msg.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/CreateGroupMsg.proto
CreateGroupMsg
Msg for creating a group.
Field | Type | Label | Description |
---|---|---|---|
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender_address | E2eeAddress | The sender's address. | |
group_info | GroupInfo | The group information, including the group name, the group address and all of the group members. | |
member_info_list | GroupMemberInfo | repeated | The group members' information. |
skissm/CreateGroupRequest.proto
CreateGroupRequest
Request for creating a group.
Field | Type | Label | Description |
---|---|---|---|
msg | CreateGroupMsg | The included msg for this request. |
skissm/CreateGroupResponse.proto
CreateGroupResponse
Response for creating a group.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
group_address | E2eeAddress | The group address. | |
member_info_list | GroupMemberInfo | repeated | The group members' information. |
skissm/E2eeAddress.proto
E2eeAddress
The address for designating an end point of user or group.
Field | Type | Label | Description |
---|---|---|---|
domain | string | The domain of the address. | |
user | PeerUser | The user peer of the address. | |
group | PeerGroup | The group peer of the address. |
PeerGroup
Group peer.
Field | Type | Label | Description |
---|---|---|---|
group_name | string | The optional group name. | |
group_id | string | The group ID. |
PeerUser
User peer.
Field | Type | Label | Description |
---|---|---|---|
user_name | string | The optional user name. | |
user_id | string | The user's ID. | |
device_id | string | The user's device ID. |
skissm/E2eeMsg.proto
E2eeMsg
Msg for end to end encryption.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
from | E2eeAddress | The sender's address. | |
to | E2eeAddress | The receiver's address. | |
msg_id | string | ||
session_id | string | The session ID. | |
notif_level | NotifLevel | ||
one2one_msg | One2oneMsgPayload | The payload for one2one msg. | |
group_msg | GroupMsgPayload | The payload for group msg. |
skissm/FriendManagerMsg.proto
FriendManagerMsg
Msg for friend manager.
Field | Type | Label | Description |
---|---|---|---|
modified_date | int64 | The modified date of the friend manager msg. | |
msgId | string | The msg ID. | |
user_address | E2eeAddress | The user address. | |
user_name | string | The user name. | |
op | FriendOp | The operation of this msg. | |
friend | FriendshipDTO | The friend data. |
FriendshipDTO
The data object representing a friend.
Field | Type | Label | Description |
---|---|---|---|
modified_date | int64 | ||
from_user | string | ||
to_user | string | ||
nickname | string | ||
memoname | string | ||
block_state | int32 | ||
friend_status | int32 |
FriendOp
The friend operations.
Name | Number | Description |
---|---|---|
FRIEND_OP_ADDING_SEND | 0 | |
FRIEND_OP_ADDING_RECEIVE | 1 | |
FRIEND_OP_ADDED | 2 | |
FRIEND_OP_BLOCKED | 3 | |
FRIEND_OP_UNBLOCKED | 4 | |
FRIEND_OP_REMOVED | 5 | |
FRIEND_OP_UPDATE_MEMONAME | 6 | |
FRIEND_OP_RECOMMEND | 7 |
skissm/GetGroupRequest.proto
GetGroupRequest
Request for getting a group.
Field | Type | Label | Description |
---|---|---|---|
group_address | E2eeAddress | The group address. | |
sender_address | E2eeAddress | The sender address. |
skissm/GetGroupResponse.proto
GetGroupResponse
Response for getting a group.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
group_name | string | The group name. | |
group_address | E2eeAddress | The group address. | |
group_member_list | GroupMember | repeated | The list of group members. |
skissm/GetPreKeyBundleRequest.proto
GetPreKeyBundleRequest
Request for getting pre-key bundle.
Field | Type | Label | Description |
---|---|---|---|
domain | string | The domain. | |
user_id | string | The user's ID. | |
device_id | string | The user's device ID. |
skissm/GetPreKeyBundleResponse.proto
GetPreKeyBundleResponse
Response for getting pre-key bundle.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
user_id | string | The user's ID. | |
pre_key_bundles | PreKeyBundle | repeated | The user's pre-key bundles from every device. |
skissm/GroupInfo.proto
GroupInfo
The group information.
Field | Type | Label | Description |
---|---|---|---|
group_name | string | The group name. | |
group_address | E2eeAddress | The group address. | |
group_member_list | GroupMember | repeated | The list of group members. |
skissm/GroupManagerMsg.proto
AddGroupMembersArg
Argument for adding group members.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
added_member_list | GroupMember | repeated |
CreateGroupArg
Argument for creating a group.
Field | Type | Label | Description |
---|---|---|---|
creator_address | E2eeAddress | ||
group_member_list | GroupMember | repeated |
DestroyGroupArg
Argument for destroying a group.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress |
GroupManagerMsg
Msg for group manager.
Field | Type | Label | Description |
---|---|---|---|
modified_date | int64 | The modified date of the group manager msg. | |
msgId | string | The msg ID. | |
group_address | E2eeAddress | The group address. | |
group_name | string | The group name. | |
op | GroupOp | The operation of this msg. | |
create_group_arg | CreateGroupArg | The argument for creating group. | |
update_group_name_arg | UpdateGroupNameArg | The argument for updating group name. | |
update_group_avatar_arg | UpdateGroupAvatarArg | The argument for updating group avatar. | |
update_group_admins_arg | UpdateGroupAdminsArg | The argument for updating group admins. | |
add_group_members_arg | AddGroupMembersArg | The argument for adding group members. | |
join_group_arg | JoinGroupArg | The argument for joining group. | |
remove_group_members_arg | RemoveGroupMembersArg | The argument for removing group members. | |
destroy_group_arg | DestroyGroupArg | The argument for destroying group. |
JoinGroupArg
Argument for joining a group.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
joined_member | GroupMember |
RemoveGroupMembersArg
Argument for removing group members.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
removed_member_list | GroupMember | repeated |
UpdateGroupAdminsArg
Argument for updating the group admins.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
group_admin_list | GroupMember | repeated |
UpdateGroupAvatarArg
Argument for updating the group avatar.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
groupAvatarUrl | string |
UpdateGroupNameArg
Argument for updating the group name.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | ||
group_name | string |
GroupOp
The group operations.
Name | Number | Description |
---|---|---|
GROUP_OP_UNKNOWN | 0 | |
GROUP_OP_CREATE_GROUP | 11 | |
GROUP_OP_UPDATE_GROUP_NAME | 12 | |
GROUP_OP_UPDATE_GROUP_AVATAR | 13 | |
GROUP_OP_UPDATE_GROUP_ADMINS | 14 | |
GROUP_OP_ADD_GROUP_MEMBERS | 21 | |
GROUP_OP_JOIN_GROUP | 22 | |
GROUP_OP_REMOVE_GROUP_MEMBERS | 23 | |
GROUP_OP_DESTROY_GROUP | 30 |
skissm/GroupMember.proto
GroupMember
The group member.
Field | Type | Label | Description |
---|---|---|---|
user_id | string | The group member's users ID. | |
domain | string | The group member's domain. | |
role | GroupRole | The group member's role. |
GroupRole
The group role.
Name | Number | Description |
---|---|---|
GROUP_ROLE_MEMBER | 0 | |
GROUP_ROLE_MANAGER | 1 | |
GROUP_ROLE_PENDING_MEMBER | 10 | |
GROUP_ROLE_PENDING_MANAGER | 11 |
skissm/GroupMemberInfo.proto
GroupMemberInfo
The group member information with signed public key that is bound to a user device.
Field | Type | Label | Description |
---|---|---|---|
member_address | E2eeAddress | The group member's address. | |
sign_public_key | bytes | The signed public key part of the user's uploaded public identity key. |
skissm/GroupMsgPayload.proto
GroupMsgPayload
Payload for group msg.
Field | Type | Label | Description |
---|---|---|---|
sequence | uint32 | The sequence of the related group session. | |
ciphertext | bytes | The ciphertext. | |
signature | bytes | The signature signed by the sender. |
skissm/GroupPreKeyBundle.proto
GroupPreKeyBundle
Bundle for group pre-key.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender | E2eeAddress | The sender's address. | |
session_id | string | The session ID. | |
old_session_id | string | The optional old session ID. | |
group_info | GroupInfo | The group information. | |
sequence | uint32 | The sequence of the related group session. | |
group_seed | bytes | The seed for the related group session. |
skissm/GroupSession.proto
GroupSession
The group session.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
session_id | string | The group session ID. | |
sender | E2eeAddress | The sender's address. | |
session_owner | E2eeAddress | The group session owner's address. | |
group_info | GroupInfo | The group information. | |
sequence | uint32 | The sequence of the chain key. | |
chain_key | bytes | The chain key. | |
group_seed | bytes | The random seed generated by the group creator. | |
associated_data | bytes | The associated data. |
skissm/GroupUpdateKeyBundle.proto
GroupUpdateKeyBundle
Bundle for group update key.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender | E2eeAddress | The sender's address. | |
adding | bool | The flag for identifying this bundle is used for adding or not. | |
session_id | string | The session ID. | |
group_info | GroupInfo | Thi group information. | |
sequence | uint32 | The sequence of the chain key. | |
chain_key | bytes | The chain key. | |
sign_public_key | bytes | The signed public key part of the user's uploaded public identity key. | |
adding_member_info_list | GroupMemberInfo | repeated | The list of adding group member information. |
skissm/IdentityKey.proto
IdentityKey
The identity key.
Field | Type | Label | Description |
---|---|---|---|
asym_key_pair | KeyPair | The key pair for asymmetric encryption and decryption. | |
sign_key_pair | KeyPair | The key pair for signing and verifying signature. |
skissm/IdentityKeyPublic.proto
IdentityKeyPublic
The public key part of an identity key.
Field | Type | Label | Description |
---|---|---|---|
asym_public_key | bytes | The public key part for asymmetric encryption. | |
sign_public_key | bytes | The public key part for verifying signature. |
skissm/InviteMsg.proto
InviteMsg
Msg form inviter for initiating a key agreement.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
session_id | string | The session ID. | |
from | E2eeAddress | The sender's address. | |
to | E2eeAddress | The receiver's address. | |
alice_identity_key | bytes | The inviter's identity key. | |
alice_base_key | bytes | The inviter's base key that is the first ratchet public key. | |
pre_shared_input_list | bytes | repeated | The data that needs to generate some shared secret. |
bob_signed_pre_key_id | uint32 | The invitee's signed pre-key ID. | |
bob_one_time_pre_key_id | uint32 | The invitee's one-time pre-key ID. | |
invite_t | int64 | The server time of invitation for creating this session. |
skissm/InviteRequest.proto
InviteRequest
Request for sending an invite msg.
Field | Type | Label | Description |
---|---|---|---|
msg | InviteMsg | The included msg for this request. |
skissm/InviteResponse.proto
InviteResponse
Response for sending an invite msg.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
session_id | string | The session ID. | |
invite_t | int64 | The server time of invitation for creating this session. |
skissm/KeyPair.proto
KeyPair
The Keypair.
Field | Type | Label | Description |
---|---|---|---|
public_key | bytes | The public key. | |
private_key | bytes | The private key. |
skissm/LeaveGroupMsg.proto
LeaveGroupMsg
Msg for leaving a group.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | The address of the user leaving the group. | |
group_address | E2eeAddress | The group address. |
skissm/LeaveGroupRequest.proto
LeaveGroupRequest
Request for leaving a group.
Field | Type | Label | Description |
---|---|---|---|
msg | LeaveGroupMsg | The included msg for this request. |
skissm/LeaveGroupResponse.proto
LeaveGroupResponse
Response for leaving a group.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
leave_group_member_address | E2eeAddress | The address of the user leaving the group. | |
group_address | E2eeAddress | The group address. |
skissm/MsgKey.proto
MsgKey
The msg key.
Field | Type | Label | Description |
---|---|---|---|
index | uint32 | The index of the message key. | |
derived_key | bytes | The data of the message key. |
skissm/NotifLevel.proto
NotifLevel
The notification level used to identify the urgency of a msg.
Name | Number | Description |
---|---|---|
NOTIF_LEVEL_NORMAL | 0 | The notification level indicates that server will not send push notification to device. |
NOTIF_LEVEL_SESSION | 1 | The notification level indicates that server will forward msg for establishing session. |
NOTIF_LEVEL_PUSH | 11 | The notification level indicates that server will send push notification to device. |
NOTIF_LEVEL_STREAM | 12 | The notification level indicates that server will send push notification with streaming flags to device. |
skissm/One2oneMsgPayload.proto
One2oneMsgPayload
Payload for one2one msg.
Field | Type | Label | Description |
---|---|---|---|
sequence | uint32 | The sequence of the chain key. | |
ciphertext | bytes | The ciphertext. | |
ratchet_key | bytes | The ratchet public key. | |
root_sequence | uint32 | The root sequence. | |
sending_message_sequence | uint32 | The sequence of the sending message. |
skissm/OneTimePreKey.proto
OneTimePreKey
The one-time pre-key.
Field | Type | Label | Description |
---|---|---|---|
opk_id | uint32 | The one-time pre-key ID. | |
used | bool | This one-time pre-key is used or not. | |
key_pair | KeyPair | The one-time pre-key data. |
skissm/OneTimePreKeyPublic.proto
OneTimePreKeyPublic
The public part of an one-time pre-key.
Field | Type | Label | Description |
---|---|---|---|
opk_id | uint32 | The one-time pre-key ID. | |
public_key | bytes | The public part of this one-time pre-key pair. |
skissm/PendingRequest.proto
PendingRequest
The pending request.
Field | Type | Label | Description |
---|---|---|---|
type | PendingRequestType | The type of the pending request | |
request_data | bytes | The data for the pending request. | |
request_arg_list | bytes | repeated | The optional arguments for the pending request . |
PendingRequestType
The pending request types.
Name | Number | Description |
---|---|---|
PENDING_REQUEST_TYPE_GET_PRE_KEY_BUNDLE | 0 | |
PENDING_REQUEST_TYPE_INVITE | 1 | |
PENDING_REQUEST_TYPE_ACCEPT | 2 | |
PENDING_REQUEST_TYPE_PUBLISH_SPK | 3 | |
PENDING_REQUEST_TYPE_SUPPLY_OPKS | 4 | |
PENDING_REQUEST_TYPE_SEND_ONE2ONE_MSG | 5 | |
PENDING_REQUEST_TYPE_CREATE_GROUP | 6 | |
PENDING_REQUEST_TYPE_ADD_GROUP_MEMBERS | 7 | |
PENDING_REQUEST_TYPE_ADD_GROUP_MEMBER_DEVICE | 8 | |
PENDING_REQUEST_TYPE_REMOVE_GROUP_MEMBERS | 9 | |
PENDING_REQUEST_TYPE_LEAVE_GROUP | 10 | |
PENDING_REQUEST_TYPE_SEND_GROUP_MSG | 11 | |
PENDING_REQUEST_TYPE_PROTO_MSG | 12 |
skissm/Plaintext.proto
Plaintext
The plaintext.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
common_msg | bytes | The common msg payload that is used for general purpose from application. | |
common_sync_msg | bytes | The sync msg payload that is forwarded to other devices of the user. | |
user_devices_bundle | UserDevicesBundle | The user devices' bundle that is used to help sync session with other devices of the user. | |
group_pre_key_bundle | GroupPreKeyBundle | The group pre-key bundle that is used to help create group session. | |
group_update_key_bundle | GroupUpdateKeyBundle | The group update key bundle that is used to help renew group session. |
skissm/PreKeyBundle.proto
PreKeyBundle
Bundle for pre-key.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | The user's address. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
identity_key_public | IdentityKeyPublic | The public part of the identity key pair. | |
signed_pre_key_public | SignedPreKeyPublic | The public part of the signed pre-key pair. | |
one_time_pre_key_public | OneTimePreKeyPublic | The public part of the one-time pre-key pair. | |
signature | ServerSignedSignature | The signature of identity_key_public |
skissm/ProtoMsg.proto
ProtoMsg
The proto msg from server.
Field | Type | Label | Description |
---|---|---|---|
tag | ProtoMsgTag | The tag for helping server consume this msg. | |
from | E2eeAddress | The sender's address. | |
to | E2eeAddress | The receiver's address. | |
acquire_sync_msg | AcquireSyncMsg | The acquire sync msg. | |
supply_opks_msg | SupplyOpksMsg | The supply one-time pre-key msg. | |
invite_msg | InviteMsg | The invite msg. | |
accept_msg | AcceptMsg | The accept msg. | |
add_user_device_msg | AddUserDeviceMsg | The add user device msg. | |
remove_user_device_msg | RemoveUserDeviceMsg | The remove user device msg. | |
create_group_msg | CreateGroupMsg | The create group msg.. | |
add_group_members_msg | AddGroupMembersMsg | The add group members msg. | |
remove_group_members_msg | RemoveGroupMembersMsg | The remove group members msg. | |
add_group_member_device_msg | AddGroupMemberDeviceMsg | The add group member device msg. | |
leave_group_msg | LeaveGroupMsg | The leave group msg. | |
e2ee_msg | E2eeMsg | The end to end encryption msg. | |
update_user_msg | UpdateUserMsg | The update user msg. | |
friend_manager_msg | FriendManagerMsg | The friend manager msg. | |
group_manager_msg | GroupManagerMsg | The group manager msg. | |
system_manager_msg | SystemManagerMsg | The system manager msg. | |
client_heartbeat_msg | ClientHeartbeatMsg | The client heart beat msg. | |
server_heartbeat_msg | ServerHeartbeatMsg | The server heart beat msg. | |
signature | ServerSignedSignature | The signature of tag |
skissm/ProtoMsgTag.proto
ProtoMsgTag
The proto msg tag.
Field | Type | Label | Description |
---|---|---|---|
proto_msg_t | int64 | The server time stamp. | |
proto_msg_id | string | The proto msg ID. |
skissm/PublishSpkRequest.proto
PublishSpkRequest
Request for publishing signed pre-key.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | The user's address. | |
signed_pre_key_public | SignedPreKeyPublic | The public part of the signed pre-key pair. |
skissm/PublishSpkResponse.proto
PublishSpkResponse
Response for publishing signed pre-key.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/Ratchet.proto
Ratchet
The ratchet.
Field | Type | Label | Description |
---|---|---|---|
root_key | bytes | The root key. | |
root_sequence | uint32 | The sequence of the root key. | |
sending_message_sequence | uint32 | The sequence of the sending message. | |
received_message_sequence | uint32 | The sequence of the received message. | |
sender_chain | SenderChainNode | The sender chain. | |
receiver_chain | ReceiverChainNode | The receiver chains. | |
skipped_msg_key_list | SkippedMsgKeyNode | repeated | The skipped message keys. |
skissm/ReceiverChainNode.proto
ReceiverChainNode
The receiver chain node.
Field | Type | Label | Description |
---|---|---|---|
their_ratchet_public_key | bytes | The public part of the ratchet key pair in ECC or the ciphertext given by the sender in PQC. | |
our_ratchet_private_key | bytes | Our ratchet private key. | |
chain_key | ChainKey | The chain key. |
skissm/RegisterUserRequest.proto
RegisterUserRequest
Request for registering an account.
Field | Type | Label | Description |
---|---|---|---|
user_name | string | The user's name. | |
user_id | string | The user's ID. | |
device_id | string | The ID of the user's device. | |
authenticator | string | Authenticator is the email (mailto:xxx@xxx) that is bound to the registering user. | |
auth_code | string | Auth code is a 6-digits number that is received by email or an invitation in this format (e2ee:invitorUserId@invitorDomain;invite=xxxxx). | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
identity_key_public | IdentityKeyPublic | The public part of the identity key pair. | |
signed_pre_key_public | SignedPreKeyPublic | The public part of the signed pre-key pair. | |
one_time_pre_key_list | OneTimePreKeyPublic | repeated | The public part of all of the user's one-time pre-key pairs. |
skissm/RegisterUserResponse.proto
RegisterUserResponse
Response for registering an account.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
address | E2eeAddress | The user's address. | |
username | string | The user's name. | |
password | string | The password. | |
auth | string | The authorization token. | |
expires_in | int64 | The expiry time of authorization token. | |
authenticator | string | The optional authenticator that is bound to this userId. | |
other_device_address_list | E2eeAddress | repeated | The addresses of other devices that is created with this userId. |
other_user_address_list | E2eeAddress | repeated | The addresses of other users who had built session with this userId. |
group_info_list | GroupInfo | repeated | The information of groups that had been created or joined by this userId. |
skissm/RemoveGroupMembersMsg.proto
RemoveGroupMembersMsg
Msg for removing group members.
Field | Type | Label | Description |
---|---|---|---|
e2ee_pack_id | uint32 | The e2ee pack ID. | |
sender_address | E2eeAddress | The sender's address. | |
group_info | GroupInfo | The group information. | |
removing_member_list | GroupMember | repeated | The members going to be removed. |
member_info_list | GroupMemberInfo | repeated | The remaining group members' information. |
skissm/RemoveGroupMembersRequest.proto
RemoveGroupMembersRequest
Request for removing group members.
Field | Type | Label | Description |
---|---|---|---|
msg | RemoveGroupMembersMsg | The included msg for this request. |
skissm/RemoveGroupMembersResponse.proto
RemoveGroupMembersResponse
Response for removing group members.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. | |
removed_group_member_list | GroupMember | repeated | The removed group members. |
group_member_list | GroupMember | repeated | The group members. |
member_info_list | GroupMemberInfo | repeated | The remaining group members' information. |
skissm/RemoveUserDeviceMsg.proto
RemoveUserDeviceMsg
Msg for removing user device.
Field | Type | Label | Description |
---|---|---|---|
user_address | E2eeAddress | The removed user e2ee address. |
skissm/ResponseCode.proto
ResponseCode
Response status codes indicate whether a specific request has been successfully completed. Responses are grouped in four classes: (ref: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) Informational responses 100–199 Successful responses 200–299 Client error responses 400–499 Server error responses 500–599
Name | Number | Description |
---|---|---|
RESPONSE_CODE_UNKNOWN | 0 | Unknown |
RESPONSE_CODE_OK | 200 | The request succeeded, and some resources were read or updated. |
RESPONSE_CODE_CREATED | 201 | The request succeeded, and some new resources were created as a result. |
RESPONSE_CODE_ACCEPTED | 202 | The request has been received but not yet acted upon. |
RESPONSE_CODE_NO_CONTENT | 204 | There is no content to send for this request, and some resources were deleted. |
RESPONSE_CODE_BAD_REQUEST | 400 | The server cannot or will not process the request due to something that is perceived to be a client error. |
RESPONSE_CODE_UNAUTHORIZED | 401 | The client is not authenticated to get the requested response. |
RESPONSE_CODE_FORBIDDEN | 403 | The client is authenticated but does not have access rights to the content. |
RESPONSE_CODE_NOT_FOUND | 404 | The server can not find the requested resource. |
RESPONSE_CODE_REQUEST_TIMEOUT | 408 | The server timed out waiting for the request, or client timeout waiting for the response. |
RESPONSE_CODE_REQUEST_CONFLICT | 409 | Indicates that the request could not be processed because of conflict in the current state of the resource. |
RESPONSE_CODE_EXPECTATION_FAILED | 417 | The server cannot meet the requirements of the expected request data. |
RESPONSE_CODE_INTERNAL_SERVER_ERROR | 500 | The server has encountered a situation it does not know how to handle. |
RESPONSE_CODE_SERVICE_UNAVAILABLE | 503 | The server is down for maintenance or overloaded. |
skissm/SendGroupMsgRequest.proto
SendGroupMsgRequest
Request for sending a group msg.
Field | Type | Label | Description |
---|---|---|---|
msg | E2eeMsg | The included msg for this request. | |
allow_list | E2eeAddress | repeated | Optional allow list. |
deny_list | E2eeAddress | repeated | Optional deny list. |
skissm/SendGroupMsgResponse.proto
SendGroupMsgResponse
Response for sending a group msg.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/SendOne2oneMsgRequest.proto
SendOne2oneMsgRequest
Request for sending an one2one msg.
Field | Type | Label | Description |
---|---|---|---|
msg | E2eeMsg | The included msg for this request. |
skissm/SendOne2oneMsgResponse.proto
SendOne2oneMsgResponse
Response for sending an one2one msg.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/SenderChainNode.proto
SenderChainNode
The sender chain node.
Field | Type | Label | Description |
---|---|---|---|
our_ratchet_public_key | bytes | The public part of the ratchet key pair in ECC or the ciphertext of the encapsulation in PQC. | |
their_ratchet_public_key | bytes | Their ratchet public key. | |
chain_key | ChainKey | The chain key. |
skissm/Server.proto
Server
The server with chainable public keys.
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the registed server. | |
domain | string | The domain of the registed server. | |
public_key_list | ChainablePublickey | repeated | The public key for verifying msg from server. |
skissm/ServerHeartbeatMsg.proto
ServerHeartbeatMsg
Msg for server heartbeat.
Field | Type | Label | Description |
---|---|---|---|
hostname | string | The optional server host name. | |
server_t | int64 | The server time stamp. |
skissm/ServerSignedSignature.proto
ServerSignedSignature
The server signed signature.
Field | Type | Label | Description |
---|---|---|---|
domain | string | The domain of server that is responsible for the signature. | |
id | int32 | The id of key that is used to create the signature. | |
signature | bytes | The signature for some data. |
skissm/Session.proto
Session
The Session.
Field | Type | Label | Description |
---|---|---|---|
version | string | The version. | |
e2ee_pack_id | uint32 | The e2ee pack ID. | |
session_id | string | The session ID. | |
our_address | E2eeAddress | Our address. | |
their_address | E2eeAddress | Their address. | |
ratchet | Ratchet | The ratchet data. | |
associated_data | bytes | The associated data. | |
temp_shared_secret | bytes | The shared secret encapsulated by the invitee's pre-key bundle, empty in ECC. | |
fingerprint | bytes | The fingerprint. | |
alice_base_key | KeyPair | The inviter's base key pair. | |
bob_signed_pre_key_id | uint32 | The invitee's signed pre-key ID. | |
bob_one_time_pre_key_id | uint32 | The invitee's one-time pre-key ID. | |
pre_shared_input_list | bytes | repeated | The data that needs to generate some shared secret. |
f2f | bool | The session is face-to-face verified or not. | |
responded | bool | The invitee has responded or not. | |
invite_t | int64 | The server time of invitation for creating this session. | |
short_term | bool | The flag indicates that session is used for short term. |
skissm/SignedPreKey.proto
SignedPreKey
The signed pre-key.
Field | Type | Label | Description |
---|---|---|---|
spk_id | uint32 | The signed pre-key ID. | |
key_pair | KeyPair | The signed pre-key pair. | |
signature | bytes | The signature of key_pair's public_key signed by the user's identity key. | |
ttl | int64 | The time stamp indicates that the signed pre-key will be removed. |
skissm/SignedPreKeyPublic.proto
SignedPreKeyPublic
The public part of a signed pre-key.
Field | Type | Label | Description |
---|---|---|---|
spk_id | uint32 | The signed pre-key ID. | |
public_key | bytes | The public part of the signed pre-key pair. | |
signature | bytes | The signature of public_key signed by the user's identity key. |
skissm/SkippedMsgKeyNode.proto
SkippedMsgKeyNode
The skipped msg key node.
Field | Type | Label | Description |
---|---|---|---|
ratchet_key_public | bytes | The public part of the ratchet key. | |
msg_key | MsgKey | The msg key. |
skissm/SupplyOpksMsg.proto
SupplyOpksMsg
Msg for sypplying one-time pre-keys.
Field | Type | Label | Description |
---|---|---|---|
server_t | int64 | ||
opks_num | uint32 | The number of one-time pre-keys needed to be upload. | |
user_address | E2eeAddress | The user's address. |
skissm/SupplyOpksRequest.proto
SupplyOpksRequest
Request for sypplying one-time pre-keys.
Field | Type | Label | Description |
---|---|---|---|
e2ee_pack_id | uint32 | The e2ee pack ID. | |
user_address | E2eeAddress | The user's address. | |
one_time_pre_key_public_list | OneTimePreKeyPublic | repeated | The public part of one-time pre-key pairs. |
skissm/SupplyOpksResponse.proto
SupplyOpksResponse
Response for sypplying one-time pre-keys.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/SystemManagerMsg.proto
SystemManagerMsg
Msg for system manager.
Field | Type | Label | Description |
---|---|---|---|
modified_date | int64 | The modified date of the system manager msg. | |
op | SystemOp | The operation of the system manager msg. | |
payload | bytes | The optional payload data. |
SystemOp
The system operations.
Name | Number | Description |
---|---|---|
SYSTEM_OP_WELCOME_MSG | 0 | |
SYSTEM_OP_REGISTER_MSG | 1 | |
SYSTEM_OP_REGISTER_SUCCESS_MSG | 2 | |
SYSTEM_OP_ANNOUNCEMENT_MSG | 3 | |
SYSTEM_OP_NOTIFICATION_MSG | 4 |
skissm/UpdateUserMsg.proto
UpdateUserAvatarArg
Argument for updating the user avatar.
Field | Type | Label | Description |
---|---|---|---|
user_avatar_url | string |
UpdateUserMsg
Msg for updating user.
Field | Type | Label | Description |
---|---|---|---|
modified_date | int64 | ||
user_address | E2eeAddress | ||
op | UpdateUserOp | ||
update_user_name_arg | UpdateUserNameArg | The argument for updating user name. | |
update_user_avatar_arg | UpdateUserAvatarArg | The argument for updating user avatar. | |
update_user_state_arg | UpdateUserStateArg | The argument for updating user state. | |
update_user_privacy_arg | UpdateUserPrivacyArg | The argument for updating user privacy. |
UpdateUserNameArg
Argument for updating the user name.
Field | Type | Label | Description |
---|---|---|---|
username | string |
UpdateUserPrivacyArg
Argument for updating the user privacy.
Field | Type | Label | Description |
---|---|---|---|
user_privacy_json | string |
UpdateUserStateArg
Argument for updating the user state.
Field | Type | Label | Description |
---|---|---|---|
user_state | int32 |
UpdateUserOp
The update user operations.
Name | Number | Description |
---|---|---|
UPDATE_USER_OP_NAME | 0 | |
UPDATE_USER_OP_AVATAR | 1 | |
UPDATE_USER_OP_STATE | 2 | |
UPDATE_USER_OP_PRIVACY | 3 |
skissm/UpdateUserRequest.proto
UpdateUserRequest
Request for updating user.
Field | Type | Label | Description |
---|---|---|---|
msg | UpdateUserMsg | The included msg for this request. |
skissm/UpdateUserResponse.proto
UpdateUserResponse
Response for updating user.
Field | Type | Label | Description |
---|---|---|---|
code | ResponseCode | The response code given by the server. | |
msg | string | The message given by the server. |
skissm/UserDevicesBundle.proto
UserDevicesBundle
Bundle for user devices.
Field | Type | Label | Description |
---|---|---|---|
domain | string | The domain. | |
user_id | string | The user's ID. | |
device_id_list | string | repeated | All of the user's devices ID. |