EncryptionClient
EncryptionClient payload upstream را با AEAD رمز میکند و downstream رمزشده را دوباره به payload خام تبدیل میکند. سمت مقابل آن EncryptionServer است.
جایگاه رایج
TcpListener -> EncryptionClient -> TcpConnector
TcpListener -> EncryptionServer -> TcpConnector
نمونه تنظیم
{
"name": "enc-client",
"type": "EncryptionClient",
"settings": {
"password": "change-me",
"algorithm": "chacha20-poly1305"
},
"next": "transport"
}
تنظیمات
| گزینه | اجباری | پیشفرض | توضیح |
|---|---|---|---|
password | بله | - | secret مشترک دو سمت |
algorithm | خیر | chacha20-poly1305 | مقدارهای پشتیبانیشده: chacha20-poly1305 یا aes-gcm |
salt | خیر | waterwall-encryption | salt برای key derivation |
kdf-iterations | خیر | 12000 | تعداد دورهای مشتقسازی کلید |
max-frame-size | خیر | 65535 | حداکثر اندازه plaintext هر frame |
نکتهها
- این نود TLS نیست؛ برای TLS واقعی از
TlsClientوTlsServerاستفاده کنید. - password، salt، algorithm و KDF دو سمت باید با هم هماهنگ باشند.
- برای امنیت بهتر، password را طولانی و غیرقابل حدس انتخاب کنید.