gpt4 book ai didi

javascript - 将 chacha20-poly1305 与 Node 一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 22:53:34 24 4
gpt4 key购买 nike

Node 的旧版本 did not support chacha20-poly1305,但是as of version 10.0.0 , Node 支持 openssl 1.1.0,其中包括 chacha。

  • require('tls').getCiphers() 包括 chacha。
  • $ openssl ciphers 包括 chacha。

但是传递 https.createServer()http2.createServer() 一个只有 chacha 的 ciphers 列表导致没有共享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);

这是 Node 错误还是我忽略的其他配置选项?

最佳答案

作为 mscdex explained在 GitHub 上,我尝试使用的字符串格式错误。 tls.getCiphers() 将返回有效的字符串,如果您将字符串从它转换为大写。

例如,以下内容:

tls.getCiphers().filter((str) => str.includes('chacha')).map((str) => str.toUpperCase())

为我返回这个:

[ 'DHE-PSK-CHACHA20-POLY1305',
'DHE-RSA-CHACHA20-POLY1305',
'ECDHE-ECDSA-CHACHA20-POLY1305',
'ECDHE-PSK-CHACHA20-POLY1305',
'ECDHE-RSA-CHACHA20-POLY1305',
'PSK-CHACHA20-POLY1305',
'RSA-PSK-CHACHA20-POLY1305' ]

关于javascript - 将 chacha20-poly1305 与 Node 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51007706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com