Старые версии узла не поддерживали chacha20-poly1305, но начиная с версии 10.0.0 , узел поддерживал openssl 1.1.0, который включает chacha.
require('tls').getCiphers()
включает чачу.
$ openssl ciphers
включает чачу.
Но передача списка https.createServer()
и http2.createServer()
* ciphers
только с chacha приводит к ошибке no shared cipher при соединении с браузером, который поддерживает chacha. Пример списка шифров:
https.createServer({
// ...
'ciphers': [
'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256',
'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256',
'TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256',
'TLS_PSK_WITH_CHACHA20_POLY1305_SHA256',
'TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256',
'TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256',
'TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256'
].join(':')
}, someFunction).listen(443);
Это ошибка узла или какой-то другой опции конфигурации, которую я пропустил?