Docs / Pairing
Pairing
Pairing exchanges public keys between the Agent and the Center, so the two sides recognize each other and encrypt end to end.
Why pairing is needed
- Finding each other: if the Agent opens no port, there is no address to type in; the pairing code solves that.
- Knowing for sure who you are talking to: after pairing, every request is signed; the Agent only listens to its own Center.
- End-to-end encryption: the Agent encrypts with the public key received during pairing.
Method 1 — Agent calls the Center
- Center → Add Agent (Thêm Agent) → Agent calls the Center (Agent gọi tới Center) → Create pairing code (Tạo mã ghép cặp). The screen shows the Center address and an 8-character code that expires after 10 minutes.
- Agent → 3. Pair with Center (3. Ghép cặp Center) → Method 1 (Cách 1), enter the address and code → Pair (Ghép cặp).
- Both screens show a 6-digit confirmation number. They must be identical.
Method 2 — Center calls the Agent
- Agent → turn on Allow the Center to connect in (Cho phép Center kết nối vào) → Save and restart (Lưu và khởi động lại), then Create pairing code. The screen shows the machine's IP address and the code.
- Center → Add Agent → Center calls the Agent (Center gọi vào Agent), enter the address (for example
10.0.0.5:8731) and the code. - Compare the 6-digit confirmation numbers.
The 6-digit numbers differ? Unpair immediately on both sides — someone may be sitting in the middle of the connection swapping keys. Check the network, then pair again.
How the pairing code is protected
- The code never travels over the network: the two sides prove they know the same code with an HMAC over each other's public keys.
- The code is single-use and expires after 10 minutes; wrong entries are logged.
- Pairing with a code does not need the SaintBackup server — it works even on an internal network with no internet.
Sign in with the same account (coming soon)
The Agent signs in with the license owner's email, appears automatically in the Center, and the Center clicks Accept. This method requires the SaintBackup server; the pairing code always remains available.