使用自签名证书是否可以防止中间人攻击?

2024-02-13

我不确定以前是否有人问过类似的问题(我找不到任何问题),但是是否可以保护客户端/服务器免受中间人攻击?

我正在编写一个客户端应用程序来与服务器进行通信。通信将基于 SSLv3。 我对服务器的自签名证书没问题,但担心其他人以相同的服务器名称生成相同的自签名证书并假装是它。我的客户端应用程序使用 OpenSSL 库。 [客户端和服务器都是基于节俭的,如果有什么区别的话]。我可以在保持对自签名证书的支持的同时避免此类攻击吗?


Yes.

简而言之,只有当客户端事先不知道证书并因此无法验证服务器是否是其所说的身份时,自签名证书才比 CA 证书更不安全。

如果您将自签名证书添加到客户端并且不接受任何其他证书,您实际上与拥有证书颁发机构签名的证书一样安全(或者,有人可能会说,甚至更安全)。

无论有或没有证书颁发机构,保持 SSL 安全的重要部分是:

  • 服务器私钥(对于 CA,是其所有根的私钥)是保密的。
  • 客户端知道服务器证书(或其 CA 根)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自签名证书是否可以防止中间人攻击? 的相关文章

  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • EIdOSSLUnderlyingCryptoError 和“使用 SSL 连接时出错。错误:14094410...”

    我在 OS X 上的 Delphi 10 1 Berlin 中遇到 Indy 组件问题 我正在使用TIdHTTP使用 HTTPS 连接到 Web 服务 问题是从 OS X 客户端连接到服务器 在 OS X 上运行时 我总是遇到同样的错误 P
  • openssl_pkey_get_public 未打开公钥,“无起始行”错误

    当生成公钥然后用函数读取它时openssl pkey get public publicKeyResource bool false 和消息 错误 0906D06C PEM 例程 PEM read bio 无起始行 privateKey o
  • 如何将 OpenSSL 与 WinSock 一起使用?

    我在网上搜索过 但没有找到任何与此相关的内容 有谁有使用 WinSock 和 OpenSSL 的简单代码示例吗 我正在寻找一个简单的 Visual C 2005 或更高版本的代码示例 它创建并打开一个 Winsock 连接 并使用 Open
  • 如何识别我的证书是否包含私钥?

    根据这个服务器故障问题的答案 https serverfault com questions 9708 what is a pem file and how does it differ from other openssl generat
  • 同时使用 SSL 加密和 NTLM 身份验证的 HttpClient 失败

    我尝试在使用 SSL 加密 https 以及 NTLM 身份验证的 Sharepoint 2010 服务器上执行简单的 REST 调用 当服务器设置为不需要 SSL 仅用于测试时 服务器在生产中将需要 SSL 时 我的 NTLM 身份验证和
  • Web 应用程序的 Spring Boot 和 Comodo https 配置

    我是 https 配置的新手 并尝试配置 spring boot 和 Comodo SSL 经过几次电话和尝试后 我已经弄清楚如何为您的 spring boot 网站正确配置 https 下面的答案是详细步骤 希望它可以帮助人们生成更安全的
  • 用于保护网站安全(使用 SSL)时,数字证书如何工作?

    请帮助我了解整个过程是如何进行的 据我了解 Web 浏览器包含 verisign Entrust Comodo 等证书颁发机构 CA 的根证书 但是当用户访问安全页面时到底会发生什么 Web 浏览器是否向 CA 服务器发送请求来验证证书 还
  • 如何列出静态链接的 python 版本中可用的所有 openssl 密码?

    在python 2 7 8到2 7 9升级中 ssl模块从使用更改为 DEFAULT CIPHERS DEFAULT aNULL eNULL LOW EXPORT SSLv2 to DEFAULT CIPHERS ECDH AESGCM D
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • 如何在Wamp服务器中启用SSL?

    我尝试在网上搜索它 但我很困惑 我没有得到任何澄清 逐步教程 http blog facilelogin com 2008 07 enabling ssl on wamp html 从链接复制 在 WAMP 上启用 SSL 本分步指南介绍了
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • 用 C++ 解密文件,该文件使用 openssl -aes-128-cbc 加密

    我正在尝试用 C 解密文件 该文件使用以下命令加密 openssl enc nosalt aes 128 cbc pass pass test in test txt out test enc txt p 控制台显示key 098F6BCD
  • RSA 私有指数确定

    我的问题是关于 RSA 签名 如果是 RSA 签名 加密 gt y x d mod n 解密 gt x y e mod n x gt 原始消息 y gt 加密消息 n gt 模数 1024 位 e gt 公共指数 d gt 私有指数 我知道
  • 重复的“Access-Control-Allow-Origin: *”标头会破坏 CORS 吗?

    所以我们有一个提供 JSON 服务的 http 资源 它添加了一个 Access Control Allow Origin 旗帜 所以这可以用 CORS 加载 except 所以我被告知 有一些 IE9 怪癖 这意味着这在 IE9 中仍然不
  • Android - API 请求

    我开发了一个应用程序 它也在 iPhone 上 问题出在 api 请求上 我为所有请求设置了超时 有时会出现 30 60 秒的中断 看起来这个应用程序执行了几个请求 然后就中断了 一直超时 大约 45 秒后一切正常 不知道是服务器问题还是安
  • 如何将域添加到 aws 上的现有 SSL 证书

    我有一个与 Amazon Web Services 上的负载均衡器关联的 SSL 证书 我想在该证书上有一个额外的域 我的问题是 是否可以向 aws 上现有的 ssl 证书添加额外的域 我发现您可以在创建证书时添加其他名称 但我不知道如何使
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou

随机推荐

  • Byte 的 Spring REST 模板

    我正在使用 spring 框架休息模板获取字节数组 但我还需要获取该字节的 Mediatype 此字节数组的 mediaType 可以是任何类型 现在用于获取字节的代码如下 HttpHeaders headers new HttpHeade
  • 配置 AspNetCore TestServer 返回 500 而不是抛出异常

    我正在开发一个 Web API 在某些情况下会响应 500 我知道设计很丑 但对此无能为力 在测试中 有一个包含 AspNetCore TestHost 的 ApiFixture public class ApiFixture public
  • 如何在我的机器上获取特定的拉取请求? [复制]

    这个问题在这里已经有答案了 有人向我发送了拉取请求 在合并之前 我想看看我的机器上的变化 我怎么做 From http community elgg org pages view 1123557 how to check out a pul
  • java.security.NoSuchAlgorithmException:RSA 签名不可用

    这是例外 Exception in thread main java security NoSuchAlgorithmException RSA Signature not available at java security Signat
  • 奇怪的回声输出

    谁能解释一下 bash shell 的这种行为 它让我发疯 root ns1 bin export test whois h whois lacnic net 187 14 6 108 grep i inetnum awk print 2
  • 共享环境中 IIS7 中应用程序池回收的最佳设置是什么?

    共享环境中 IIS7 中应用程序池回收的最佳设置是什么 作为托管者 您肯定希望回收内存和时间 潜在的请求限制和 CPU 您希望对这些限制采取非常积极的态度 但请确保将它们发布给您的客户 Memory https technet micros
  • UWP WinUI TreeView 以编程方式滚动到项目

    我正在尝试使用新的WinUI工具包TreeView控制 我需要以编程方式滚动到特定项目 我找不到办法做到这一点 目前 没有这样的APITreeView用于滚动到视图中的类 但你可以获得TreeViewList在树视图中ControlTemp
  • 从 Spring 控制器中删除重复项

    我一直在寻找一种方法来减少 Spring MVC 控制器中因细微差异而重复的代码量 但到目前为止搜索 SO 问题只产生了一些问题 没有任何令人满意的答案 我想要删除的重复示例是这样的 其中用户创建页面和角色创建页面有相似之处 Request
  • 如何将自定义类型调用函数泛化为抽象类型?

    我有以下模拟设置 其中包含抽象类型 具体类型作为子类型和函数f它需要两个参数 第一个是Letter abstract type Letter end struct A lt Letter end struct B lt Letter end
  • 使用子记录数据更新父记录的字段(同一表)

    我有一张表 其中存在父 子关系 其中每个孩子的ExternalCategoryCode列数据需要连接到父级中ExternalCategoryCode 以下是一些已损坏的示例数据 其中父记录 Id 96 ExternalCategoryCod
  • 将completionSelector 和completionTarget 与UIImageWriteToSavedPhotosAlbum 结合使用

    我正在尝试找出一种方法让我的 iOS 应用程序将屏幕截图保存到相机胶卷 然后弹出警报告诉用户屏幕截图已成功保存 我能想到的唯一方法是使用某种形式的 if else 循环 正如您将在下面的伪代码注释中看到的那样 但我想不出任何语法来使用UII
  • Android 需要深厚的 Java 知识吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 以对数刻度间距绘制 x 轴,但不以指数形式标记它

    我想绘制两个值x 0 10 20 50 100 and y 1 2 3 10 100 使用pylab 我想将 x 轴的间距保持为对数形式 但我想在 x i e 的值 10 20 50 100 处勾选并打印它们 因为它不是 10e1 或 10
  • 我如何知道哪一行代码导致我的 iOS 应用程序在 Xcode 9 中崩溃

    I am building an app in Xcode 9 Swift 4 and it crashes before it even loads completely I get an error Thread 1 Signal SI
  • NUnit 测试项目无法加载 System.Windows.Forms 的程序集

    我有一个专门用于单元测试的 NUnit 测试项目 其目标框架为 Net Core 2 1 该测试项目引用了另外两个项目 其中一个是窗口窗体基于应用程序 另一个是类库基于数据库交互的应用程序 这两个项目的目标框架都是 Net Framewor
  • 获取包含的库的版本信息?

    我创建了 2 个项目 其中 1 个是 Lib 第 2 个是 Test 我从测试应用程序将上下文传递给 Lib 项目 由于我在 Lib 中有上下文 因此我在 Lib 中使用了以下代码 字符串版本 this mContext getPackag
  • 随机数生成器:它应该用作单例吗?

    我在几个地方使用随机数 并且通常在需要时构建一个随机数生成器 目前 我使用 Marsaglia Xorshift 算法将当前系统时间作为种子 现在我对这个策略有一些疑问 如果我使用多个生成器 生成器之间的数字的独立性 随机性 取决于种子 相
  • 如何使用 Google Translator Api 将转换后的英文文本设置到另一个文本框?

    我有两个文本框 一个用于英语 另一个用于印地语 当我在第一个框中输入英语时 文本应在第二个框中显示为印地语版本 在按键事件上 我已经提到了一个例子如何在您的网站中通过 Google API 将英语翻译成印地语 http arunsonare
  • 单选按钮检查事件处理

    在我的应用程序中 我需要一个单选组 每当选中单选按钮时 就会出现警报 以便我可以使用 jQuery 将其值发布到 ajax post 你能帮我看看我如何在 jQuery 中做到这一点吗 尝试这样的事情 function input type
  • 使用自签名证书是否可以防止中间人攻击?

    我不确定以前是否有人问过类似的问题 我找不到任何问题 但是是否可以保护客户端 服务器免受中间人攻击 我正在编写一个客户端应用程序来与服务器进行通信 通信将基于 SSLv3 我对服务器的自签名证书没问题 但担心其他人以相同的服务器名称生成相同