问题标签 [self-signed-certificate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
836 浏览

ssl - 在 localhost 中测试 TLS:证书对给定域无效

我正在尝试使用在我的个人计算机上运行的 spring boot 应用程序来测试 SSL。我使用带有以下参数的 keytool 生成了一个 PKCS12 证书。

我将我的应用程序配置为使用此证书并将此自签名证书安装到我的 chrome 浏览器中。

在此处输入图像描述

当我尝试使用 chrome 扩展高级 REST 客户端访问我的 API 端点 ( https://localhost:8080/api/meta/divisions ) 时,我收到一条错误消息

这个错误的原因是什么,我该如何解决这个问题?

0 投票
1 回答
15 浏览

c# - 我是否需要在机器 2 和 3 的受信任根中复制 RootCA

  • 我在域中有 3 台机器,我选择 Machine1 来托管 asp.net web api 应用程序。

  • 我已经创建了自己的 CA RootCA 并放入了 Machine1 的受信任根目录。

  • 然后我又从 RootCA 颁发了一个带有 Machine1 完全限定域名的证书 X。

  • 我将证书 X 放在 Machine1 的个人根目录中。

  • 我将我的 asp.net web api 应用程序与证书 X 绑定。

  • 如果我浏览到我的 asp.net web api,它运行良好并且没有证书错误。

  • 现在,当我尝试从 Machine2 和 Machine3 浏览我的 asp.net Web api 时,我收到证书错误。

在此处输入图像描述

  • 如果我将 RootCA 证书复制到 Machine2 和 Machine3 的受信任存储区,则不会出现证书错误。

我的问题,

  • 这需要将 RootCA 证书复制到 Machine2 和 Machine3 的受信任存储区吗?

  • 我可以消除这个步骤吗?也许我不想在 Machine2 和 Machine3 中安装任何证书。这可能吗?

谢谢!

0 投票
2 回答
1162 浏览

flutter - 使用自签名证书时 Flutter OAuth 请求失败

我有一台支持 oauth2.0 并授予授权码的服务器。服务器使用我手动安装在我的 android 设备上的自签名证书。我正在使用标准 oauth2 库https://pub.dev/packages/oauth2来执行 oauth 流程。现在一切正常,直到这一步

客户端必须使用授权期间获取的代码发出发布请求以获取访问令牌。(参见https://pub.dev/packages/oauth2#authorization-code-grant的示例)在这里我得到一个

现在我已经知道如何使用 HttpClient 对象允许我的证书或完全绕过证书检查。问题是,HttpClient 是 http.dart 下的 dart._http 库的一部分,但 oauth2.dart 使用的 Client 对象来自 client.dart 下的 http 库。尽管它们似乎都是 http 客户端并支持 post 方法,但只有前者支持自定义 SecurityContext。而且显然我无法将其中一个放入另一个中。我有一个两部分的问题:

  1. 有没有人对这个 OAuth2.0 库有类似的经验,或者知道我是否可以让它与我的自签名证书一起使用?
  2. 我的最新想法是创建一个扩展 http.BaseClient 的自定义客户端类。因为我注意到 OAuth2.0 只使用来自客户端对象的 post 方法,所以我正在考虑重写此方法并使用 HttpClient 对象来执行 post 请求。但是,来自 HttpClient 的 post 方法只需要一个 Uri,而来自 BaseClient 的 post 方法需要 url、标头、正文和编码。知道如何根据 HttpClient 的请求进行设置吗?

我也研究了 oauth2_client 但它甚至不支持自定义 http 客户端和 oauth_dio 但它只实现客户端凭据授予,而我的服务器只支持授权代码授予。

0 投票
1 回答
268 浏览

java - 带有 SSL 和自签名证书的 ActiveMQ;不包含正确证书的客户端能够连接到代理

我有一些自签名证书,用于通过 ActiveMQ 和几个 Java 客户端使用 SSL/TLS。代理密钥库包含根证书代理信任库包含客户端的公钥客户端密钥库包含捆绑到 PKCS12 文件中的客户端公钥和私钥,根据密钥库的要求,客户端信任库包含根证书

现在,此配置工作正常。我的问题是,即使我使用不匹配的客户端证书和密钥但在代理和客户端保留相同的根证书,它也能正常工作。仅当我使用不匹配的根证书时,代理-客户端连接才会失败。我想知道为什么会发生这种情况以及解决方法是什么,以便使用任何随机密钥对的客户端,其公钥不驻留在代理的信任库中,因此无法连接到代理。

PS:这是在 ActiveMQ 5.13.0 版和 TLS 1.2 版上

0 投票
1 回答
640 浏览

java - ActiveMQ javax.net.ssl.sslhandshakeexception null 证书链

我使用此链接创建自签名根 CA 证书和服务器密钥对

使用此链接使用先前生成的根证书生成客户端密钥对

虽然这些链接是为 MosquittoMQ 设置 SSL 而我的用例是为 ActiveMQ,但我相信证书生成过程对于这两种情况都是一样的。

我使用的客户端是 Java 客户端。根据密钥库的要求,代理密钥库包含捆绑到 PKCS12 文件中的根证书和服务器公钥和私钥,代理信任库包含客户端的公钥。客户端密钥库包含捆绑到 PKCS12 文件中的客户端公钥和私钥,客户端信任库包含根证书。Java 客户端使用端口 61714 连接到代理。通过以上配置的密钥库和信任库,我得到了空证书链异常。有人可以告诉我这是否是配置密钥和信任存储的正确方法吗?根证书和服务器证书是否应该链接起来,而不是单独存在于代理密钥库中?我对此很陌生,有点迷茫。

ActiveMQ 代理的传输连接器配置如下所示

Java 客户端上的 application.properties 文件

处理在 Java 客户端上配置 ActiveMQ 连接工厂的文件

0 投票
1 回答
630 浏览

docker - 基于 docker 的安装后如何在 Alfresco 6.2 测试环境中配置(SSL)自签名证书?

我已经使用基于 docker 的安装方式安装了 Alfresco 6.2,并且它在 http 上运行良好。现在,我必须在 https 上运行相同的设置,并且我必须为此申请自签名证书。

有人可以提供生成此自签名证书的步骤以及如何在 docker 映像中应用它。

任何帮助将不胜感激。

我已经在没有 docker 的情况下为 Alfresco 5.2 做了同样的事情,但是在这里我对 docker 很陌生,不了解如何做到这一点。

0 投票
0 回答
556 浏览

ssl - x509:即使使用自我证书注册跑步者时,证书由未知权威签名问题

我有一台在 linux 操作系统上运行的服务器。Docker 与安装了 gitlab 的容器一起安装。一切正常。我打算在 Windows 10 上安装和注册一个运行程序,以通过我的 CI CD 进程使用(原因是我在 .NET 中有多个项目需要在部署期间编译和构建,因此我决定将它们放在 Windows 上并且通过在 Shell 中注册一个运行器可以运行一个批处理脚本文件来构建这些项目)。当我要注册跑步者时,我收到此错误:x509: certificate signed by unknown authority
已经解释了如何通过创建 ssl self 证书来解决它(gitlab doc)。经过这么多努力,我仍然收到此错误。我对 ssl 有点陌生,但我遵循这种方式:首先我在我的 gitlab 容器上用这个逗号创建了一个自我证书: https ://docs.bitnami.com/aws/apps/gitlab/administration/create-ssl- certificate-nginx/ 然后,我在 windows 上使用这个文件来注册 gitlab 运行器。但是在注册过程中仍然会抛出错误。当我在 Windows 上使用以下命令来验证自我证书时:

我在最后几行遇到了这个错误:

谁能提供一些详细的步骤来解决这个问题?我正在寻找一个正确且适用的答案,但尚未取得任何结果。PS:gitlab-runner x509:未知权威签署的证书没有解决我的问题

0 投票
1 回答
165 浏览

ssl - 使用来自浏览器应用程序的自签名证书连接到安全的 Socket.io 连接时出错

Socket.io 客户端 API 文档建议客户端应将连接请求中的自签名证书传递给服务器:

这在节点环境中效果很好。

如何在浏览器 javascript 应用程序中进行这项工作?我面临两个问题:

  1. 如何在浏览器应用程序中包含证书文件?readfileSync 找不到文件
  2. 如果我只在选项中包含rejectUnauthorized:false,它适用于节点,但在浏览器(Firefox,Chrome)中仍然不起作用

我已经尝试了一切,如下所示,但没有任何效果

我是获得正确签名证书的唯一选择吗?

0 投票
0 回答
45 浏览

google-chrome - 接受不受信任的证书后的 Chrome 行为

我目前遇到了一些与 Chrome 行为有关的问题。

我的公司在托管我们的应用程序的内部网络上使用自我证书产品。

我的用户正在遵循当前步骤:

  1. 上网站,接受“不受信任的证书”
  2. 使用应用程序 X 次
  3. 单击一个按钮进行 Ajax 调用以在 Apache 服务器上获取图像
  4. Ajax 调用导致 404 请求失败 在此处输入图像描述

我发现我可以通过在单击进行 Ajax 调用的按钮之前“重新启用”警告来重现此行为:

在此处输入图像描述

有我的问题:

  1. chrome是否有可能在X次后自动“重新启用”警告?如果是多少次?我在哪里可以找到关于这个主题的更多信息?
  2. 是否有一个选项可以禁用 Chrome 以自行“重新启用”警告?如果是怎么办?

谢谢你。

0 投票
3 回答
20905 浏览

certificate - 如何使用 Microsoft-EDGE 绕过证书错误

尝试访问本地 git 服务器页面时,Microsoft Edge 显示证书错误,因为 git 服务器正在使用自签名证书。我想启用对此特定 Web 主机的访问并绕过错误消息。这可以在其他浏览器中完成,但显然 EDGE 没有提供覆盖证书处理或产生异常的方法。

错误消息:“此站点不安全。” DLG_FLAGS_INVALID_CA