如何在Web应用程序中支持用户提供的SSL证书

时间:2017-11-23 02:29:26

标签: http security ssl ssl-certificate

我正在构建一个用户可以创建自己的网站的Web应用程序。用户可以选择在这些站点上指定自己的域名。该应用程序的原型已经存在; Apache接受所有主机名的请求,实际的域映射和解析发生在应用程序级别(简单的数据库查找会抓取与请求的主机名匹配的站点)。

我遇到的问题是用户的SSL证书如何适合这个等式。我需要采取哪些步骤来允许用户上传其SSL证书,以便应用程序可以成功处理对其主机名的安全HTTP请求?这甚至只是应用程序可以处理的事情吗?

2 个答案:

答案 0 :(得分:1)

我认为你不能单独在你的应用程序中处理这个问题。 这是一个CA问题,除非您是中间CA公司,否则您无法获得用户的域SSL证书并签署用户域。

答案 1 :(得分:0)

典型用户和恕我直言,甚至更多用户要创建此系统的网站,而不是在自己的服务器(或他们自己的付费共享服务器)上设置自己的WordPress或其他网站托管帐户),绝对不知道如何设置正确的SSL证书,因此安全地将其安装到您的安装它不会是一个问题因为他们永远不会得到到目前为止。

但是,您应该能够使用Let's Encrypt完全按照您的需要进行操作。作为添加域名的过程的一部分,一旦域指向您的服务器(用户必须弄清楚如何使用他们的域名注册商),您可以创建一个Let的加密证书并验证它。我最喜欢的网络托管公司(我不会将其命名为不相关 - 任何人都可以通过一些努力来做到这一点)将此功能作为其控制面板的一部分提供。他们还提供了一些大型发行人的付费证书,就像他们多年来一样,但对于大多数小型网站来说,让我们的加密工作得非常好并且完全免费。设置只需要一分钟。关键是您必须先为用户提供IP地址或CNAME,以便他们可以指向域。域名解析到您的服务器后,您就可以获得Let的加密证书。