也许我对我们为什么需要签名证书感到困惑,但我认为只有在你想要确保连接到REAL www.paypal.com时才需要它。你的浏览器会表明它是有效的。
但是,如果我的移动应用只能在终点上获取/放置/发布等,那么使用自签名证书是否足够?
答案 0 :(得分:2)
仅当您将公钥嵌入应用程序(证书固定)时。
否则,您无法区分自签名证书与攻击者自签名证书之间的区别。
答案 1 :(得分:1)
这取决于。如果您的应用程序是在浏览器中运行的HTML / CSS / JS应用程序,则该应用程序的用户将被告知您的站点不受信任,因为它正在提供该平台无法追溯到根证书的证书权限。
您需要在设备上安装根CA才能使设备的浏览器信任您的服务器证书。这不是用户习惯做的事情。有关如何生成CA证书以及服务器和浏览器的证书,请参阅https://jamielinux.com/docs/openssl-certificate-authority/index.html。
如果您的应用是发出HTTP请求的本机应用,那么您将不得不处理平台不信任您的服务器证书这一事实。通常,当您尝试启动连接并且SSL握手“失败”时,就会执行此操作。即使证书不受信任,您也可以告诉平台以静默方式继续。
基本的经验法则我想如果只有少数人会使用该应用程序(例如公司内部)自签名是好的,但如果你的应用程序将被公众普遍使用你真的应该拥有由您的平台信任的CA签署的证书。