我编写了可下载的软件,当安装和运行时,它会启动(除其他外)Jetty 网络服务器(在端口 3220 上,如果这很重要,我认为不重要)提供网页。
我想通过 HTTPS 在网站上提供一个页面。此页面收集直接发送给 Stripe 的信用卡信息。我的理解是,从技术上讲,我不必通过 HTTPS 提供此服务,因为该页面直接与 Stripe 对话,并且没有 CC 详细信息访问我自己的服务器,但我想通过 HTTPS 提供此服务以使挂锁“温暖而模糊”。
我的理解是,要做到这一点,我需要购买证书;自签名证书不起作用,因为浏览器会显示警告。我想随软件一起分发证书,这样用户就可以安装并使用。但是,证书在创建时需要包含主机名。在用户安装和运行软件之前,我显然不知道用户计算机的主机名。
那么如何在不知道主机名的情况下购买和分发证书呢?
获得这样的证书是不可能的。主机名不会被域限定,并且没有 CA 会为“*
”签署证书。此外,一些浏览器(肯定是 Chrome)会提示这样的证书(“你连接到一个名称只在你的网络内有效的服务器”)。
您可以考虑将用户重定向到您在公共(public)互联网上控制的服务器(使用适当的证书),仅用于应用程序的信用卡部分。
我是一名优秀的程序员,十分优秀!