我有一个基于 node/express 和 MongoDB 的本地 REST-API 服务。
我打算从 http 切换到 https。
客户端在 Windows Server 2012 R2(终端服务器)上运行。
REST-API 通过 Docker 托管在 Ubuntu 16.04 LTS 服务器上。
我知道:
我的问题:
奇怪的是,很难确切地找出 SSL 如何处理电子邮件,至少在回答我的特定问题时 - 当我使用 SSL 连接到 gmail 时,我知道我的连接是安全的,因此数据在我的计算机和 GMAIL SERVER 之间都是加密的. 但是,这就是 SSL 的全部功能吗?例如,当我在我的电脑上打开一封电子邮件时,山景城(或其他)和我家之间的数据是加密的?这是否意味着如果我向我的朋友发送电子邮件,该朋友也使用启用了 SSL/安全 gmail 的 gmail,那么如果我发送一封电子邮件,并在他的 gmail 帐户中附加附件,该电子邮件以及附件在我的计算机上加密,发送到 GMail服务器,然后如果我的朋友使用 SSL,那么他也可以安全地获取电子邮件吗?那么就不需要那些 Firefox 加密插件了吗?那些只是为了更强大的加密算法吗?
所以总而言之,这是我认为我学到的东西(并为其他人提供了一个总结)。如果我错了,请纠正我:
gmail 使用 HTTP 向谷歌服务器发送电子邮件。gmail 还通过 HTTP 从谷歌服务器检索电子邮件。当您使用 https(而不是 http)连接到 google 服务器时,您的 gmail 客户端和 gmail 服务器之间的连接是安全的,并且数据在两者之间来回加密。
使用客户端(例如thunderbird)时,SMTP 用于发送电子邮件,IMAP/POP 用于检索电子邮件。在附加组件/选项级别,您可以告诉这些客户端对 SMTP 和 IMAP/POP 步骤使用 TLC。
在它们的服务器之间来回发送电子邮件时,谷歌服务器可能不会将 TLS 与 SMTP 一起使用。
结论 - 如果使用 gmail,请始终使用 HTTPS,但要知道 google 的服务器之间没有加密,但在“外部世界”中,google 客户端之间的连接(只要使用 https)是安全的。如果使用雷鸟(或其他东西),请打开 TLS。
这样对吗?
我已经看到一些类似的问题散布在谷歌关于这个的结果中,但似乎没有一个是特定于公司的。
每次尝试登录安全站点时,我都会不断收到“此连接不受信任”屏幕……例如 Gmail。
这很烦人,因为有时我必须经历添加例外两到三次的过程,然后它最终让我进入 Gmail。
我在公司防火墙后面,通过内部代理服务器访问互联网,所以我不可能更新防火墙......等。
有人知道解决这个问题的方法吗?它可以简单地被禁用(并且安全)吗?
编辑
我将用一些新信息重新打开这个问题。
我最近一直在使用 Google Chrome,直到今天,我注意到的一件事是我在使用 Chrome 或 Internet Explorer 时从未遇到过这个问题。这些其他浏览器是否需要在 FF 中手动执行某些操作?
从 10.7.1 更新到 10.7.2 后,Safari 和 Google Chrome 都无法加载 GMail。到处旋转沙滩球。
问题不在于 GMail;Firefox 加载 GMail 就好了。
问题不仅限于 Safari 或 Google Chrome;其他应用程序也有 SSL 问题:Gilgamesh 和 Safari。任何使用 WebKit(Google Chrome、Safari)或 Cocoa 库 (Gilgamesh) 访问 Internet 的程序都无法加载安全站点。
各种在线论坛都提出了一些修复方法,但都不起作用。
修复 #1:打开 Keychain Access.app 并删除未知证书。
10.7.2 更新还阻止加载 Keychain Access。Keychain 程序本身 Spinning Beachballs。
修复 #2:删除 ~/Library/Keychains/login.keychain 和 /Library/Keychains/System.keychain。
这暂时解决了问题,并让您加载安全站点,但在重新启动或休眠后一两分钟以某种方式神奇地撤消修复程序,因此您必须一遍又一遍地删除这些文件。
修复 #3:删除 ~/Library/Application\ Support/Mob* 和 /Library/Application\ Support/Mob*。
有传言称新的 MobileMe/iCloud 服务 ubd 是导致此问题的原因。此修复不能解决问题。
修复 #4:打开钥匙串访问,打开首选项,并禁用 OCSP 和 CRL。
此修复不能解决问题。
修复 #5:使用 10.7.0 -> 10.7.2 组合安装程序,而不是 10.7.1 -> 10.7.2 …
我正在使用links浏览器并尝试连接到 HTTPS 站点。然后我得到:
Verification failure: certificate has expired
Run Code Online (Sandbox Code Playgroud)
对于这个仅供内部使用的服务,这是“很好”(即决定被容忍),其他浏览器允许忽略错误并重试。
我如何才能实现相同links的条件并忽略条件,即:创建有关此证书有效性的异常。
默认情况下,SSL 会生成自签名的“蛇油”证书,例如在/etc/ssl/certs/ssl-cert-snakeoil.pem. 根据维基百科,蛇油是一种被视为欺诈或伪造的加密方法或产品。这些证书有什么假的吗?当然,它们没有由任何已知的证书颁发机构签署,但证书本身仍然可以是与其他证书一样好的真实证书。例如,我可能会亲自将服务器的公钥安全地分发给所有客户端。假设这样,生成的证书是否有任何值得蛇油的东西,或者名称是否具有误导性?
我需要从源代码手动编译 OpenSSL。我使用 Ubuntu 18。Ubuntu 18 附带的 OpenSSL 不支持我需要的特定密码。但是如果我手动编译 OpenSSL,它可以被启用。我找到了这本手册。但是,如何将 python ssl 链接到手动安装的 OpenSSL 而不是操作系统之一?
我知道 Firefox 14 已为其 Google 搜索插件启用了安全套接字层(SSL 或 https)搜索。我怎样才能禁用它?
谢谢,
我们使用未签名的 SSL 证书进行本地开发,因此我们经常在 Chrome 中看到“您的连接不是私密的”消息。我们通过选项继续绕过它,但这只会在消息返回之前持续几天左右。有没有办法将某些域列入白名单或始终排除某些证书?
我相信 chrome://flags/ 曾经有一个地方可以设置“记住在指定的时间长度内处理 SSL 错误的决定”,但这不再可用。
我使用一些需要我安装 PFX 证书才能访问它们的安全网站。我在多台计算机上执行此操作,我需要一种快速方法来确定仍需要在哪些计算机上安装证书。
有没有办法可以使用批处理命令列出个人存储中的所有证书?我可以远程运行命令,但我不知道有什么方法可以列出它们。
“如何获取 Windows 上已安装证书的列表? ”是一个类似的问题,但我正在寻找特定于命令行的解决方案。那里的答案都涉及使用 GUI 或 Powershell。
