【问题标题】:What is correct way to implement multiple TLS certs and private keys for SNI rust web server?为 SNI rust Web 服务器实现多个 TLS 证书和私钥的正确方法是什么?
【发布时间】:2019-08-15 20:51:20
【问题描述】:

使用 native_tls 我看到了:

let ssl = ssl().expect("Failed to load SSL keys");
        let builder: native_tls::TlsAcceptorBuilder =
            native_tls::backend::openssl::TlsAcceptorBuilderExt::from_openssl(ssl);
        let tls_acceptor = builder.build().expect("Failed to build TLS acceptor");

我认为有:

https://en.wikipedia.org/wiki/Server_Name_Indication

和:

https://docs.rs/native-tls/0.2.3/native_tls/struct.TlsConnectorBuilder.html#method.use_sni

use_sni 默认为 true。

但我仍在寻找正确的方法来为 N 个不同的域加载 N 个证书并在同一台服务器上的同一 443 端口上运行所有证书。

有没有办法用 N 个证书一遍又一遍地调用TlsAcceptorBuilderExt::from_openssl(ssl)

Edit1:找到this,这解释了很多。

【问题讨论】:

    标签: ssl rust openssl tls1.2 sni


    【解决方案1】:

    这里的完美示例:https://github.com/nikelmwann/garbageproxy/blob/578e92d56fc410a58f0b93195aef52a47cfbe3fb/src/tls.rs#L55 这会循环通过 N 个服务器并添加每个证书和密钥

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-05
      • 1970-01-01
      • 2014-06-11
      • 2015-10-20
      相关资源
      最近更新 更多