Uint32_t serial Packet serial number, starts at zeroĪES-128 Encapsulation Packet //FIXME: DocumentĪES-256 Encapsulation Packet //FIXME: Documentĭata message consist of a header followed by message-specific body. These bytes are not considered part of the data message. Note the final four bytes of the plaintext data message is always equal to 0xDEADBEEF. Note that each encryption algorithm uses a different packet format, but the resulting plaintext message is the same format.Ī reference Salsa20/12 algorithm can be found here. Each encrypted data packet is sent as a UDP datagram and (when decrypted) contains a single data message. Different algorithm and key may be used in each directions of the channel. PCoIP supports Salsa20/12, AES-128 and AES-256 encryption algorithms. The network address and port are specified via the cipa and cprt chunks in the management channel. In the default configuration, UDP messages are sent from client-to-server on UDP port 4172, and sent from the server-to-client on UDP port 50002. The following subsections relate to the (UDP, pcoip_data_2) configuration. The channel is configured by the 'pcap' and 'penc' parameters negotiated in the MGMT channel. The data channel exists to exchange encrypted data packets between the client and server. server and client keys are exchanged verbatim Reservation_ssig_tag = reservation_vcs_tag Server key xor value = decodebase64(reservation_vcs_tag)Ĭlient key xor value = decodebase64(reservation_vcs_tag) Header Record uint64_t size Packet size excluding this header (bytes)Ġ=Invite, 1=Invite Ok, 2=Not Acceptable, 3=Ack, 4=Bye, 5=Bye Ok, 6=Ping, 7=Pong
The server passes images only, so the relevant actions that the user can perform are connect, disconnect, mouse click, and key press. The first chunk is always the 'ssig' chunk, which identifies the purpose of the message. The PCoIP (PC over IP) protocol supports testing on the Teradici Pervasive Computing Platform and VMware HorizonView. PCoIP Client Key (libpcoip_client) //FIXME: Public keyĮach MGMT message consists of a 64-bit header followed by list of chunks. PCoIP Certificate Authority Key //FIXME: Public key Parameters are listed below.Įxisting server implementations check that the remote client's certificate is signed by the PCoIP Root Certificate Authority. The channel is closed following negotiation of the data channel parameters. Existing PCoIP clients and servers perform validation of the SSL keys against the PCoIP Root Certificate Authority (see below). The channel is created when the client connects to the server via SSL on port 4172. The management channel establishes a PCoIP session between the client and server. 1.1.2 PCoIP Client Key (libpcoip_client).