标签: ssl

有没有办法从 Chrome 中提取“私有证书密钥”并将其导入到 Firefox 中?

这是典型的第二十二条军规情况。前几天我在 Chrome 下使用网上银行。我必须订购数字证书才能扩展我的特权。愚蠢的是,当我获得批准并打开证书安装菜单时,我只看到 IE/Firefox 的版本可用。到底是什么,我说,然后选择了 FF - 我得到的结果是错误 202 - ERR:CERT:INVALID。我打开 FF,进入同一页面,并尝试从那里安装该死的东西,但收到一条消息,基本上说我一定得到了一个私钥,但显然 FF 找不到。

我读了一下,结果发现我确实得到了这样一个密钥,但仅限于我订购证书的浏览器,即 Chrome。最糟糕的是,如果我停用我的订单,并重新签发新的证书,这次是从 FF 开始,我必须去银行办事处(!!!WTF),但我目前正在国外读书,所以我不能就这样去后退。

有没有办法,我可以从 Chrome 的配置文件中提取该密钥,并将其导入到 Windows 下的 FF 中?我很高兴知道

windows firefox google-chrome certificate ssl

5
推荐指数
1
解决办法
9350
查看次数

使用 iptables 将传入的 https 重定向到本地 IP

我有一个带有 1 个网络接口(eth0,公共 IP)的路由器,别名为 eth0:0,本地 IP 192.168.1.1。

我想将所有传入的 https (443) 流量重定向到另一台服务器。我尝试过

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -j DNAT --to-destination 192.168.1.2:443它有效。所有到达我的公共 IP 的 ssl 端口的流量都被重定向到 192.168.1.2。

但主要问题是这样的;现在从我的本地局域网到互联网的所有 https 流量也被重定向到该本地 IP,例如。https://facebook.com和 192.168.1.2 答案。我应该如何修复我的配置才能使其正常工作?

networking firewall https ssl iptables

5
推荐指数
1
解决办法
1万
查看次数

Firefox - 有什么方法可以覆盖服务器名称指示以进行故障排除?

我广泛使用 Firefox 来访问无数的 Web 应用程序并对其进行故障排除,其中许多应用程序运行在 apache 虚拟主机环境中。

我一直遇到的一个问题是,在启用 SSL 的服务器上,我无法覆盖主机名来访问正确的虚拟主机。

通过 HTTP,人们可以访问一个 IP 地址,http://1.2.3.4/page.html并伪造host:具有不同值的标头来访问不同的虚拟主机。

例如,这些是等效的:

  • http://my.virtualhost.example.com
  • http://1.2.3.4与标题host: my.virtualhost.example.com

对于 HTTPS,这变得不可能,因为在建立 TLS 连接之前必须知道主机名,因此 apache 无法知道要服务哪个 SSL 虚拟主机。

解决方法是覆盖TLS 请求中的服务器名称指示ClientHello(SNI) 字段。

有什么方法可以使用 Firefox 插件或扩展来覆盖 SNI 值吗?

我在 Windows 7 上使用 Firefox 40。

firefox https ssl firefox-extensions tls

5
推荐指数
1
解决办法
3958
查看次数

无法在 Windows 10 上的 Chrome 或 IE 中使用客户端证书

我有一个 nginx 安装和一个自签名 CA,我希望我的用户使用该 CA 签名的客户端证书进行身份验证。

在 Linux 中,Firefox 和 Chrome 都能完美运行。在 Windows 10 上,Firefox 运行良好。所以我知道这不是服务器、系统时钟或证书本身的配置错误。

我通过运行 certmgr.msc 导入证书。我将客户端证书存储在“个人”存储中,将 CA 的证书存储在“受信任的根证书颁发机构”中。然后我通过重新启动chrome chrome://restart,甚至重新启动Windows也无济于事。

在我收到有关服务器证书真实性未得到验证的(预期)警告后,在 Linux 和 Windows 中的 Firefox 上,我可以选择“仍然继续”。在 Windows Chrome 和 IE 上,我没有这样的选项。Chrome 显示以下屏幕:

在此输入图像描述

我正在使用 Chrome v56(64 位)

有什么办法可以解决我不知道的这个问题吗?为什么 Chrome 取消了在 Windows 上继续进行的选项,但该选项在其他操作系统上仍然存在?

编辑

在 MacOS 上,Chrome 的行为与 Linux 上类似。将证书导入用户的钥匙串后,我会看到相同的警告和“仍然继续”的选项。

我不知道这是 Chrome 的问题还是 Windows 强制执行的一些安全限制,但我发现它非常不切实际且烦人。

google-chrome certificate ssl windows-10

5
推荐指数
1
解决办法
2万
查看次数

在 nginx 中托管 .p7b HTTPS 证书

我们需要将 Web 服务从 HTTP 更改为 HTTPS,因此我们生成了 .csr 并提供给我们的客户端并取回 .p7b 和 .cer 文件作为回报,以便在 linux 服务器上托管的 nginX 中使用它们。

我是 nginX 的新手,根据我的理解,.p7b 和 .cer 都是证书文件,但我很困惑我应该在ssl_certificate参数中使用哪个文件,或者我是否需要连接两个文件并将结果文件传递给ssl_certificate以提供服务目的?

server {

listen   443;
ssl    on;
ssl_certificate    /etc/ssl/your_domain_name.pem; (or bundle.crt)
ssl_certificate_key    /etc/ssl/your_domain_name.key;

server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root   /home/www/public_html/your.domain.com/public/;
index  index.html;
}

}
Run Code Online (Sandbox Code Playgroud)

我正在关注此链接中的不同链接,但找不到正确的答案。

谁能详细告诉我我应该如何使用它们?

PS:将问题从 StackOverFlow 转移到 SuperUser。

linux ssl nginx

5
推荐指数
1
解决办法
9404
查看次数

Firefox + HSTS + 自签名证书 + 内网

我有一台 Windows 10 计算机,它通常在没有互联网连接的情况下运行。我有一个2.4在该机器上运行的 Apache 服务器(版本)(ServerName localhost),它实际上托管了各种网站(例如,www.youtube.com-我知道...幽默我)。有多个域,但我将使用该域作为示例。

我解决这些域127.0.0.1的的%WINDIR%\system32\drivers\etc\hosts文件,我可以解决/平他们就好了。

我已将其定义www.youtube.comVirtualHostinhttpd.conf并且我已将其定义为 SSL 配置文件中的域。几个月前,这一切都运行良好,即在 Firefox 中我能够浏览http://www.youtube.comhttps://www.youtube.com就好了。对于网站的 https 版本,我确实必须创建自签名证书,并将它们安装到 Firefox 的 cert db,但这一切都有效。

好吧,现在它不再起作用了。我正在运行 Firefox 版本57.0.1 (32-bit)。我收到了我们都见过的这个错误:

您的连接不安全

[DOMAIN] 的所有者对其网站的配置不正确。为保护您的信息不被盗用,Firefox 未连接到本网站。

该站点使用 HTTP 严格传输安全 (HSTS) 来指定 Firefox 只能安全地连接到它。因此,无法为此证书添加例外。

当我点击高级...

[DOMAIN] 使用了无效的安全证书。

该证书不受信任,因为它是自签名的。

错误代码:SEC_ERROR_UNKNOWN_ISSUER

我尝试了很多解决方案……生成新证书、禁用 Firefox 的Query OCSP responder servers to confirm the current validity of certificates设置、清除缓存、使用新配置文件启动 Firefox、删除cert8.db文件、改用 …

security firefox apache-http-server certificate ssl

5
推荐指数
1
解决办法
3896
查看次数

仅通过浏览器下载 PEM

我想下载 PEM 格式的证书...

-----BEGIN CERTIFICATE-----
XoSDIKaItcRzMGrVqFPY9lG72Oe68lnLZWYQSkvqePC/04QnapOP...
(...)
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

...直接从 Web 浏览器访问 HTTPS 网站。是否有任何浏览器功能或附加组件允许这样做?

我在 Win10 下使用 Chrome,但有关其他浏览器/操作系统的答案可能很有用。

我不是要尝试使用 UNIX 命令行工具来执行此操作,例如

openssl s_client -connect mysite:443 > tmpfile
Run Code Online (Sandbox Code Playgroud)

browser google-chrome ssl browser-addons google-chrome-extensions

5
推荐指数
1
解决办法
2万
查看次数

使用 OpenWRT 路由器时,某些网站的 TLS 握手会重置

目前我的路由器面临一个非常奇怪的问题。我有TP-Link TL-WDR4300 rev。1.7 运行 OpenWRT 18.06.1。

问题最初出现在1-2个月前,当时我有OpenWRT 15.05,而路由器上的最后一次配置更改(升级到18.06.1之前)大约是一年前。

因此,1-2 个月前,我注意到某些网站无法在所有浏览器中的所有设备(带 iOS 的 iPhone、Android 手机、Ubuntu 笔记本电脑、Windows 笔记本电脑)上加载。但是,如果设备与 WiFi 断开连接并使用例如蜂窝网络,则网站会立即加载。

我的 ISP 是 Deutsche Telekom,没有加载的网站的一个很好的例子是https://telekom.de,通常预计可以访问。

我已经升级到最新的稳定版 OpenWRT 并开始调查这个问题。日志中没有丢弃的数据包或路由器上与问题相关的任何其他错误消息。Curl 能够直接在路由器上获取受影响网站 (telekom.de) 的内容:

 root@OpenWrt:~# curl --tlsv1.0 -v https://telekom.de
 > GET / HTTP/1.1
 > Host: telekom.de
 > User-Agent: curl/7.60.0
 > Accept: */*
 > 
 < HTTP/1.1 301 Moved Permanently
 < Date: Sat, 01 Sep 2018 20:56:23 GMT
 < Server: Apache
 < Location: https://www.telekom.de/start
 < Content-Length: 236
 < Content-Type: text/html; charset=iso-8859-1
 < 
 <!DOCTYPE HTML …
Run Code Online (Sandbox Code Playgroud)

networking router openwrt ssl iptables

5
推荐指数
1
解决办法
1600
查看次数

如何在 Windows 上查看当前用户证书,而不是本地计算机证书?

在 Windows 上安装证书时,您有两种选择:

存储位置当前用户或本地机器

如果我单击下一步,我可以选择允许证书导入向导为我找出将它放在哪里,但这是否意味着它取消了我的当前用户/本地机器选择,而是将其安装为本地机器证书?

根据证书类型自动选择证书库

它没有告诉我向导选择了哪个证书存储:

证书导入向导确认

如果我打开证书管理器,我可以看到为我的本地机器安装的证书:

certlm - 证书 - 本地计算机

但是,我想查看当前用户的证书,而不是本地机器。我相信我的当​​前用户安装了一些错误的证书,这些证书阻止我在 Google Chrome、Microsoft Edge 和其他浏览器上访问互联网,但我不知道如何查看当前用户证书以删除它们。Firefox 是唯一可以运行的浏览器,因为它管理自己的证书。

有谁知道 HKEY_CURRENT_USER 证书或 HKEY_LOCAL_MACHINE 证书的注册表项(假设本地机器注册表项与当前用户注册表项相似,足以找到前者)。

google-chrome https certificate ssl windows-10

5
推荐指数
1
解决办法
7205
查看次数

使用 ssl 从源安装 Python 3.7.3 失败

我在使用 ssl 安装 Python 3.7.3 时遇到了麻烦。我所有的编译都成功了,但是模块_ssl的最终安装失败了。

第一步:安装openssl

git clone https://github.com/openssl/openssl.git
cd openssl
git checkout tags/OpenSSL_1_0_2r
./Config
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

openssl 安装在 /usr/local/ssl

第二步:配置Python3.7.3

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar xzvf Python-3.7.3.tgz
cd Python-3.7.3
./configure --with-openssl=/usr/local/ssl
Run Code Online (Sandbox Code Playgroud)

配置正确:

检查 /usr/local/ssl 中的 openssl/ssl.h ... 是

检查针对 OpenSSL 的编译和链接是否有效......是的

检查 libssl 中的 X509_VERIFY_PARAM_set1_host ... 是

第三步:编译python

make
Run Code Online (Sandbox Code Playgroud)

步骤4a:安装python

sudo make install
Run Code Online (Sandbox Code Playgroud)

此步骤失败:

*** 警告:自导入失败后重命名“_ssl”:build/lib.linux-x86_64-3.7/_ssl.cpython-37m-x86_64-linux-gnu.so:未定义符号:X509_VERIFY_PARAM_set_hostflags

...

以下模块成功构建但由于无法导入而被删除:

_ssl

步骤 4b:将 python 安装到本地文件夹中

make install prefix="~/Downloads/install"
Run Code Online (Sandbox Code Playgroud)

在这种情况下安装成功。

步骤 4apython3 -c "import ssl"失败后。但是,如果我替换_ssl在步骤 4b 中编译的模块,则上述命令有效。 …

linux python ssl ubuntu installation

5
推荐指数
1
解决办法
7828
查看次数