پرش به مطلب اصلی

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-encryptionsalt برای key derivation
kdf-iterationsخیر12000تعداد دورهای مشتق‌سازی کلید
max-frame-sizeخیر65535حداکثر اندازه plaintext هر frame

نکته‌ها

  • این نود TLS نیست؛ برای TLS واقعی از TlsClient و TlsServer استفاده کنید.
  • password، salt، algorithm و KDF دو سمت باید با هم هماهنگ باشند.
  • برای امنیت بهتر، password را طولانی و غیرقابل حدس انتخاب کنید.