用于本地网络的SSL,无需更改路由器或客户端系统

用于本地网络的SSL,无需更改路由器或客户端系统,ssl,networking,https,server,admin,Ssl,Networking,Https,Server,Admin,设置 假设一台服务器位于本地网络中。我需要客户端(浏览器)连接到本地服务器 我想将该服务器(与服务器代码预先配置的实际硬件)发送给任何客户 然后应将其插入本地网络,客户必须执行快速设置程序 不允许服务器连接到internet 客户端和服务器之间的所有通信都必须通过https进行 所以现在我正在考虑解决这个问题的办法 我排除了这些选项,因为它们对于用户/管理员来说是不现实的 在每个服务器上本地安装服务器颁发的自签名证书 客户端操作系统(尤其不适用于移动浏览器) 在浏览器中接受“这是一个不安全的证书

设置

假设一台服务器位于本地网络中。我需要客户端(浏览器)连接到本地服务器

我想将该服务器(与服务器代码预先配置的实际硬件)发送给任何客户

然后应将其插入本地网络,客户必须执行快速设置程序

不允许服务器连接到internet

客户端和服务器之间的所有通信都必须通过https进行

所以现在我正在考虑解决这个问题的办法

我排除了这些选项,因为它们对于用户/管理员来说是不现实的

  • 在每个服务器上本地安装服务器颁发的自签名证书 客户端操作系统(尤其不适用于移动浏览器)
  • 在浏览器中接受“这是一个不安全的证书”内容 自签名证书,因为这是不专业的
  • 作为客户端的本机应用程序是没有选择的

  • 非常感谢您的帮助。TLS支持3种主要的密钥交换方式

    • 基于证书(RSA、ECDSA-ECDHE等)
    • 匿名(基于DH)
    • 预共享密钥(PSK)
    在您的场景中,如果您需要运送一个服务器盒,并且许多预装了浏览器的客户端将使用HTTPS连接到您的服务器,并且假设您无法控制这些客户端,则无法使用PSK或匿名机制。我建议如下:

    应在您打算出售的每个服务器机箱中安装唯一的私钥/公钥对。公钥应由知名的证书颁发机构认证(即作为证书颁发),其自签名证书通常安装在浏览器中。这将帮助您在服务器和客户端之间建立无缝的TLS连接


    证书确实有有效期,但是,您可以尝试请求更长的有效期,如果需要,证书应该以类似于您在这些框中更新软件的方式进行更新。

    您为什么放弃将自签名证书从服务器安装到客户端浏览器的想法?大多数浏览器最初会向您发出警告,但也会为您提供将自签名证书添加到其存储的选项。因此,它不需要管理员来完成,而是可以在首次使用应用程序时完成。如果它是一个安全的本地网络,无法访问外部世界(internet),为什么要保护与TLS的连接?@Jay我正在考虑的产品应该出售,而不仅仅是向管理员出售。如果这是你必须做的第一步,那就不专业了。对于这个产品,安全性是非常重要的,所以这样的警告会在产品中传播不信任。没有TLS是没有选择的,因为即使在本地网络中,网络中的PC也可能损坏。感谢您的输入。您是否不打算为您的服务器购买来自认证CA的证书?如果你这样做,它会解决你的问题。你这是什么意思?如果我为我的服务器购买了一个证书,然后(例如)为每个客户创建一个子域-我的dns服务器如何知道路由到哪里(例如#customer#.mycompany.com),而不使用出售的硬件与我的服务器通信并发送其当前ip?非常感谢您的详细解释,这非常有帮助!你如何称呼当局在那里开展的这项服务(注意什么)?我只能找到绑定到特定域的“正常”证书。但是客户端将通过本地ip地址连接,因为我无法更改网络中的客户端/etc/hosts或其他dns设置。所以基本上我需要一个不绑定到域或ip的证书。关于有效期,您是绝对正确的。证书必须向著名的认证机构(如Verizon)申请。证书不需要绑定到域名。它只需要一个通用名称和其他属性。您的客户端可以很好地使用本地IP连接到服务器,并且在协商过程中TLS仍将发送配置的证书,如果您可以获得分配给您或您的组织的中间CA证书,而该证书又可以用于为您的服务器盒颁发证书,那么您可能可以与知名的证书颁发机构进行讨论。在TLS认证过程中,TLS服务器端将终端证书和中间CA证书发送给客户端,并且知名机构的自签名证书将位于客户端的浏览器中。因此,可以进行全面的证书验证。我想确切的细节可以由著名的CA提供商提供。好的,我将与签名机构建立一个电话,以协商您的方法的实际实施。太多了!