标签: ssl

无法将两个 p12/pfx 客户端证书导入 Chrome 或 Firefox

我有一个想要使用客户端身份验证证书的网站。这只是我自己和少数家人/朋友的个人网站,因此我创建了一个 CA 来签署一些证书,我可以将这些证书分发给他们,以便他们无需密码即可登录。

问题是,我创建了两个 p12 格式的客户端证书,但无法将它们加载到 Chrome 或 Firefox 中。但我可以单独加载每个,但当我尝试加载第二个时出现“未知错误”。

因此,如果我首先将我的证书加载到 Chrome 或 Firefox 中,它会加载得很好。然后如果我添加我妻子的,我会收到错误。如果我删除我的证书并仅添加我妻子的证书,那就更好了。但是当我尝试导入我的证书时,出现错误。

这就是我创造一切的方式。

#1 Make CA and Cert
openssl genrsa -aes256 -out projects_ca.key 4096
openssl req -new -x509 -days 365 -key projects_ca.key -out projects_ca.crt

#2 Make Server Key 
openssl genrsa -aes256 -out projects_server.key 4096
openssl req -new -key projects_server.key -out projects_server.csr

#3 Self Sign Server Key
openssl x509 -req -days 365 -in projects_server.csr -CA projects_ca.crt -CAkey projects_ca.key -set_serial 001 -out projects_server.crt

#4 Make Client Key …
Run Code Online (Sandbox Code Playgroud)

ssl client-certificate

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

没有其他重要命令的 openssl rsa -passin pass:xxx 有何作用?

我不清楚第二个命令的作用

openssl genrsa -des3 -passout pass:123 -out private/server.key 2048
openssl rsa -passin pass:123 -in private/server.key -out private/server.key
Run Code Online (Sandbox Code Playgroud)

第一个生成使用 des3 和 pass 123 加密的 RSA 密钥。第二个怎么样?它会删除密码吗?

谢谢你,

ssl rsa openssl x509

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

通过 DNS 代理强制使用 HTTPS /“智能 DNS”如何与 HTTPS 配合使用?

我想通过在 VPS 上运行的代理强制将 HTTP(S) 流量从我的家庭网络发送到某些网站。

我安装tinyproxy在 VPS 上,在端口 上运行8080。在我的电脑上我正在运行

sudo ssh -i /home/user/.ssh/id_rsa -nNT -L 80:localhost:8080 -L 443:localhost:8080 remoteuser@vps
Run Code Online (Sandbox Code Playgroud)

本地访问代理。当我在 Firefox 设置中配置localhost:80为代理时,一切正常(HTTP 和 HTTPS)。

但由于我不希望所有流量都通过该代理,因此我将其添加到我的电脑中/etc/hosts

127.0.0.1     server.example 
Run Code Online (Sandbox Code Playgroud)

server.example是为 HTTP 和 HTTPS 配置的 Web 服务器的名称。

访问http://server.example正常,但https://server.example在 Firefox 中打开失败并出现错误

SSL_ERROR_RX_RECORD_TOO_LONG
Run Code Online (Sandbox Code Playgroud)

curl通过 HTTPS 访问页面也失败:

curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Run Code Online (Sandbox Code Playgroud)

据我了解,此问题是由 tinyproxy 使用纯 HTTP 响应 HTTPS 请求引起的。

首先,理论上可以实现我想要的吗?那些所谓的“智能 DNS”服务似乎正是这样做的。

这个问题是由我的设置引起的还是tinyproxy无法做到这一点?是否有不同的代理服务器能够做到这一点?

编辑:目前我正在我的 PC 上运行 SSH 隧道,并且 DNS 修改也在本地,但我想稍后将其部署在我的路由器上,以便来自我网络的任何设备的流量都通过此代理。

EDIT2:正如 @SteffenUllrich 在评论中所写,当通过 …

proxy https ssl

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

Claws Mail 警告 Gmail 证书在每次连接时都发生更改

最近,我的 Claws Mail 客户端每次尝试连接到我的 gmail 帐户(位于 pop.gmail.com)时都会弹出一条消息“SSL/TSL 证书已更改”,有两个选项:“取消连接”和“接受并保存” ”。我使用接受并保存,但 5 分钟后情况又重复了。我知道我可以skip_ssl_cert_check=1在配置文件中进行设置clawsrc,但我不完全理解其安全含义。对我来说特别奇怪的是,谷歌搜索这个弹出消息绝对没有任何结果,就好像我是第一个遇到这个问题的 Claws 和 gmail 用户一样。我使用 Claws 版本 3.16.0,移植到 Windows 10 中,如果有帮助的话。

gmail ssl claws-mail

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

如何在 Nginx 中允许特定的 SSL 客户端证书?

Nginx 的ssl_client_certificatessl_trusted_certificate指令可用于允许给定机构签署客户端证书。但我怎样才能允许特定的证书呢?我想按证书指纹进行过滤,或者按证书颁发机构+客户端证书序列号进行过滤。

ssl nginx ssl-certificate

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

SAN 在客户端证书验证中是否有任何用处?

当客户端验证服务器的证书时,它知道服务器的域名,然后它可以检查该域名是否存在于服务器证书的 SAN(主题备用名称)字段中。

当服务器验证客户端的证书时,它不知道客户端的域名。这是否意味着客户端证书中的 SAN 没有用?

certificate ssl x509 tls

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

SSL 证书:EE 证书密钥太弱

$ curl -s https://goolge.ca | wc 
      0       0       0

$ curl -vs https://goolge.ca
. . .
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, bad certificate (554):
* SSL certificate problem: EE certificate key too weak
* Closing connection 0

$ lsb_release -a
No LSB modules are available.
Distributor …
Run Code Online (Sandbox Code Playgroud)

linux debian https certificate ssl

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

在 VLC 和通配符 SSL 证书中通过 https 打开流

我想知道如何在 VLC 中手动信任证书。我的目的是通过 https 打开一个流。gnutls 返回错误:远程站点发送的证书的通用名称是“*.example.com”,与“foo.bar.example.com”不匹配(因为点)。

所以我想告诉VLC这个证书是可以信任的。例如,这可以在 Firefox 中轻松完成(它提供添加安全例外)。你如何在 VLC 中做到这一点?

vlc-media-player https ssl

4
推荐指数
1
解决办法
6841
查看次数

SSL 使用哪种对称密钥算法?

我知道通过 SSL,浏览器通过公钥加密 rsa 算法获取安全网站的公钥,这两个建立会话密钥,然后通过一些对称算法继续通信,因为对称密钥加密/解密速度更快。SSL 使用哪种对称密钥算法?DES?AES?或者是其他东西?

谢谢

security encryption ssl cryptography rsa

4
推荐指数
1
解决办法
2697
查看次数

SSL 如何工作?不是有坑吗?

我正在阅读这篇文章,特别是“SSL in action”部分。它说:

当客户端通过其 SSL 安全端口连接到 company.com 时,公司会发回其公钥(以及一些其他信息,例如它支持的密码)。
...
一旦客户端对服务器(以及服务器与客户端,如果需要)感到满意,则客户端从服务器提供的加密方法列表中选择要使用的 SSL 密码,并生成“对称密钥” (密码)用于该密码。客户端使用服务器的公钥加密此密码并将其发送回服务器。服务器(并且只有服务器)可以解密此消息并获得此密码,该密码现在由客户端和服务器共享。

所以,我的理解是只有一个公钥;由受信任的第 3 方(thawte/godaddy/verisign 等)提供给 company.com 的那个。客户端然后选择接受此密钥/证书,然后发送用于加密未来通信的密码。

如果只有一个公钥,那么黑客不能只访问该站点一次,获取公钥的副本,然后在客户端发送密码时拦截他,使用他已有的公钥解密,然后监视所有未来的通讯?是什么阻止了它?

我不明白的部分是

服务器(并且只有服务器)可以解密此消息并获得此密码

为什么只有服务器才能解密消息?是什么阻止其他人解密它?

security encryption ssl ssl-certificate

4
推荐指数
1
解决办法
553
查看次数