当前位置: 首页 > 知识库问答 >
问题:

MTLS-向nodejs客户端生成证书

潘嘉佑
2023-03-14

我们需要通过相互TLS在ec2服务器和客户服务器之间进行通信。请求从我们的服务器发送到我们的客户服务器-因此我们是这里的客户机。

我读了这篇文章,谈论如何生成文件。

第一步是创建客户端和服务器都信任的证书颁发机构(CA)。CA只是一个公钥和私钥,公钥封装在一个自签名的X.509证书中。

我们的证书和他们的证书-应该从同一根CA签名?谁应该提供?

我这边的代码应该是这样的:

const req = https.request(
  {
    hostname: 'myserver.internal.net',
    port: 443,
    path: '/',
    method: 'GET',
    cert: fs.readFileSync('client.crt'),
    key: fs.readFileSync('client.key'),
    ca: fs.readFileSync('ca.crt')
  },
  res => {
    res.on('data', function(data) {
      // do something with response
    });
  }
);

那么我们应该互相提供什么呢?我们并不完全理解,他们也没有提供更多的细节,只是要求我们给他们一份证书。。。

共有1个答案

甄伟兆
2023-03-14

我们的证书和他们的证书-应该从同一根CA签名?谁应该提供?

由于客户端证书的控制是在TLS服务器端(即在客户端)完成的,因此完全取决于他们的期望。他们可能需要一个公开签名的证书,他们可能需要一个由他们自己的CA签名的证书。或者他们可能只是检查一个特定的证书是否被使用,并且还将为此接受自签名证书。

 类似资料:
  • OpenShift中部署了一个应用程序(Java)。还配置了istio入口网关。我的任务是使用https协议和MTL调用我的服务。目前,我在tls块的入口网关中有以下设置: 我想通过googlechrome/Postman/curl调用我的服务,据我所知,为此我需要基于openshift中指定的证书生成一个客户端证书,并将其放入调用客户端。我的问题是如何从中生成客户机证书,以及如何将其放在调用方上

  • 每次我搜索AWS API网关的通过SSL的相互身份验证时,我只能找到AWS API网关和后端服务之间的MTL。但我希望用MTLS(客户端身份验证)来保护我的AWS API网关endpoint本身。 例如,我有一个通过AWS API网关代理的备份服务QueryCustomer。现在我可以在API网关上设置SSL证书,但它通常是单向SSL。我想要实现的是一个带有客户端身份验证的MTLS,其中来自AWS

  • 对于我们的指向站点VPN,我们希望创建一个根证书。因此我们可以为所有需要登录VPN的合作伙伴创建尽可能多的客户端证书。(Azure虚拟网络) 手工完成这件事很完美。我们生成一个作为根CA的证书(自签名)。我们可以在powershell中这样做:

  • 根据本教程使用Azure资源管理器创建Service Fabric集群,我创建了服务器自签名的.pfx证书,然后输入证书指纹、SourceVault、CertificateURL到Azure Portal。 我应该怎么做才能获得客户端证书,才能将它的指纹输入到azure Portal?

  • 我有一个这样的歌剧API: OpenAPI生成器Maven的插件为schema对象创建了一个请求类“GenerateTokenRequest”,但在API实现类中它没有使用。它生成一个方法,将所有请求的字段作为参数列表。方法如下: 所以,在这种情况下,请求类“GenerateTokenRequest”被生成,但从未使用过。任何人都可以告诉我为什么?有一种使用我的请求类的替代方法吗?我可以在Open

  • 嗯,首先,对不起我的英语不好。 “enderecodao.java”: 和ENDERECO的WebService“servicoEnderEco.java”: