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

密钥库中的证书认证

苏鸿卓
2023-03-14
    null

大多数示例使用makecert或New-SelfSignedCertificate创建证书。在这种情况下,对于生产应用程序,自签名证书是否有问题?这仅供应用程序使用Azure Key Vault进行身份验证,客户机在浏览器中不会看到这一点。

如果在这种情况下,自签名证书仍然不受欢迎,那么从受信任的权威机构购买证书是否与购买SSL/TLS证书的过程相同?甚至是同一类型的证书吗?

共有1个答案

堵远航
2023-03-14

使用自签名证书本质上没有什么问题(有一些警告)。从纯加密的角度来看,购买的证书和自签名的证书没有区别。唯一的区别在于,购买的证书由一个或多个证书颁发机构签署,这些颁发机构在大多数浏览器/操作系统/等上分发其公钥。这意味着用户可以对购买的证书的合法性有更高的信心,而他们必须在接受自签名证书时采取更大的信心。

然而,在您的情况下,您似乎能够控制客户端应用程序,实际用户应该永远不会看到此证书。因此,您可以放心地使用自签名证书,只要采取预防措施防止中间人攻击(即有人生成自己的自签名证书并冒充您)。最有效的方法之一是通过证书固定。本质上,您将证书的公钥随客户端应用程序一起发送,客户端应用程序将只接受提供该公钥的证书。这使得恶意参与者(没有窃取您的证书)更难预制中间人攻击。

TL;DR:只要您采取措施防止中间人攻击,并保持证书的安全,使用自签名和自生成的证书来保护非面向用户的连接就没有错。

 类似资料:
  • 我正在尝试对现有API启用Azure密钥库证书。我们已经在Azure Key Vault帐户中拥有秘密和Azure Key Vault证书。下面是配置证书的代码: 在我的本地计算机上,我正确地导入了证书,其中包括下载pfx格式。

  • 问题内容: 我的Java程序如何知道包含证书的密钥库在哪里?或者,如何告诉我的Java程序在哪里寻找密钥库? 在以某种方式指定了密钥库之后,如何指定用于对服务器进行身份验证的证书? 问题答案:

  • 嘿,我想使用Azure密钥库加密/解密我的数据库中的数据。我看到自己和其他人都在纠结的一个主要问题是如何保护程序中的访问id和密钥。我看到有人说,如果你没有一个原生的微软应用程序(我没有,我的应用程序运行在第三方linux服务器上),你可以获得一个证书来访问密钥库。在我掏出200美元购买之前,我想知道拥有该证书意味着即使证书被盗,攻击者也不能用它来访问密钥库,对吧?我的理解是证书只能在我的域上工作

  • 在我对密钥库和证书做了一些研究后,我发现了以下指南: 了解密钥库、证书和别名 Java Keytool要领:使用Java keystores 如果我错了请纠正我。根据我的理解(和测试): null 您的密钥存储区包含1个条目 别名:testingkeypair创建日期:2016年1月11日条目类型:PrivateKeyEntry证书链长:1证书:所有者:CN=Testing,OU=Testing,

  • 获得SHA-1指纹的方法与获得指纹的方法相同吗?以前,我运行的是以下命令: 我不清楚我得到的结果是不是SHA-1指纹。有人能澄清一下吗?

  • 但是,这将错误地表示它无法加载证书。