将 ENGINE 上下文附加到 SSL_CTX

2024-03-27

我想知道是否有可能附加一个ENGINE*实施到SSL_CTX* and/or SSL*结构。我想要实现的是拥有一个SSL_CTX*将使用 OpenSSL 中内置的默认加密操作和另一个设置SSL_CTX*将使用专用 HSM 作为加密层。

我可以通过这种方式实现这一目标吗?根据我读到的内容,可以注册一些加密操作并将其设置为默认值(随机、密码、md 等),但将使用已设置的操作,而不是内置操作。

e.g. EVP_CipherInit_ex它的第三个参数是ENGINE*。加密/解密EVP_CIPHER_CTX*以这种方式初始化将通过 ENGINE 实现处理加密/解密。


从我所看到和读到的来看,你不能。如果您需要在代码中使用引擎,您有两种选择:

  1. 将您的引擎设置为默认引擎,OpenSSL 将使用该引擎提供的所有这些方法,对于所有其他方法 - 将使用 OpenSSL 内置方法。这是在这种情况下您需要使用的调用:

    ENGINE_set_default(引擎,ENGINE_METHOD_ALL)

  2. 将您的引擎设置为几种选定的方法,例如下面的代码将仅针对 RAND 方法进行设置:

    ENGINE_set_default(引擎,ENGINE_METHOD_RAND)

您可以在这里找到更多示例:https://www.openssl.org/docs/manmaster/crypto/engine.html https://www.openssl.org/docs/manmaster/crypto/engine.html以及 openssl 的 README.ENGINE 中。

换句话说,引擎是一个全局设置,如果您想将其映射到 SSL_CTX 对象,则需要手动维护该映射。

顺便说一句,我很高兴被证明是错误的,因为我自己需要这种功能,并希望它将来能够实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ENGINE 上下文附加到 SSL_CTX 的相关文章

随机推荐

  • MySQL 到 PostgreSQL 表创建转换 - 字符集和排序规则

    我想从 MySQL 迁移到 PostgreSQL 我的创建表查询是这样的 CREATE TABLE IF NOT EXISTS conftype CType char 1 NOT NULL RegEx varchar 300 default
  • 哪个更好/更快:连接许多表或选择一张大表

    我们正在使用 Oracle 11 这是我们用 Java 编写的应用程序 每天一次 通常是下午 我们的数据库由于许多大的 SQL 查询而冻结 我想以某种方式优化这个查询 该查询由不同表的许多联接组成 我的问题是 使用左连接对性能更好 还是将所
  • 流浪者 403 禁止

    我已经成功运行 Vagrant 大约一周了 昨晚我运行了 vagrant reload 现在我无法再访问我的网站 VirtualBox 版本 4 2 16 流浪者版本1 2 7 我的 Vagrantfile 和 bootstrap sh h
  • 当反向关系上 full=True 时,Django Tastypie 会抛出“超出最大递归深度”。

    如果运行以下代码 我会超出最大递归深度 from tastypie import fields utils from tastypie resources import ModelResource from core models impo
  • Presto 和 Impala 之间的基本架构、SQL 合规性和数据使用场景有哪些差异?

    有专家能从这些角度对Presto和Impala的区别给出一些简洁的答案吗 基础架构设计 SQL合规性 现实世界的延迟 任何 SPOF 或容错功能 结构化和非结构化数据使用场景表现 Apache Impala 是仅适用于 HDFS Hive
  • WebElements 列表中的相对 Xpath

    在收集 WebElements 列表后是否可以使用相对 xpath 如果是这样 最好的方法是什么 这就是我所拥有的 List
  • Char 未转换为 int

    由于某种原因 我的 C 程序拒绝将 argv 的元素转换为整数 我不明白为什么 int main int argc char argv fprintf stdout s n argv 1 Make conversions to int in
  • 在 docker 容器内使用 RVM 等版本管理器是一种不好的做法吗?

    我是使用 docker 的新手 到目前为止我无法找到许多包含的 ruby rails 图像RVM or rbenv 我看到的最常见的事情是每个容器有多个tags每个标记的图像版本都有only one安装的 Ruby 版本 看到这个image
  • 我可以从另一个进程中卸载 DLL 吗? (Win32)

    我想从另一个进程卸载 DLL 是否可以 如果是 该怎么做 我使用的是Win32 API 非常感谢 是的 这是可能的 它称为 DLL 弹出 某些 DLL 注入器具有该功能 通常加载 DLL 的方式是通过加载库 http msdn micros
  • 如何:片段内的gridview?

    我想创建一个像 android market 一样的 gridview 我想用互联网上数据库中的图像填充它 它需要与 androidv4 support 一起使用 因为我想运行 2 2 直到 4 0 有人说 在4 0之前不可能创建gridv
  • 如何将 DateTime.TryParse 与 Nullable 一起使用?

    我想使用 DateTime TryParse 方法将字符串的日期时间值获取到 Nullable 中 但是当我尝试这个时 DateTime d bool success DateTime TryParse some date text out
  • CheckedChanged 事件中的问题

    我有一个复选框 并且我已订阅 CheckedChanged 事件 处理程序在那里执行一些操作 我以编程方式选中和取消选中该复选框 例如 chkbx Name Checked true 并且 CheckedChanged 事件被触发 我希望仅
  • 如何创建链式管道?

    我想创建一个简单的链式管道 我发现this https stackoverflow com questions 33658355 piping output from one function to another using python
  • SSIS 脚本组件不允许文本流输出

    我正在尝试使用 SSIS 将 JSON 文件导入到我的数据库中 由于我使用的是 SQL Server 2016 因此我可以将文件放在一行中并使用 OPENJSON 读取它们 我的问题是不想只引入 JSON 文本 我还想需要从文件名和当前目录
  • 如何将CAP文件加载到java卡

    我是java卡的新手 你能帮我看看如何将Applet CAP文件解析为APDU吗 用于将此 CAP 文件安装到支持 GP2 2 的卡上 你应该尝试使用GPShell http sourceforge net projects globalp
  • 无法在 Mac OS X 10.6 上的 Python 中将 Matplotlib 中的字体更改为 Helvetica

    我正在尝试将 matplotlib 字体更改为 helvetica 我想在 PDF 图中使用它 我尝试以下操作 import matplotlib matplotlib use PDF import matplotlib pylab as
  • 将用户重定向到不同 ASP.NET Core Razor 网站中的页面

    我有一个 ASP NET Core 2 1 Razor 应用程序 其中有两个在登录前处于活动状态的菜单项 我想在单击任一菜单项时转移 重定向 到其他网站 我尝试过重定向 如下所示 但当前 url 添加到我指定的字符串中 public IAc
  • 根据水年创建日索引

    我正在处理水文数据 我需要水年 我已经根据之前在此论坛上发布的功能成功创建了一个水年专栏 我想要的是有一个陪伴water day范围从 1 365 闰年为 366 以匹配水年序列 请注意 水年是由其结束的日历年指定的 例如 2010水年从2
  • Linux IPC:共享内存回收

    我有两个进程 生产者和消费者 通过使用生成的共享内存段进行通信 old https stackoverflow com questions 21311080 linux shared memory shmget vs mmap接口而不是 m
  • 将 ENGINE 上下文附加到 SSL_CTX

    我想知道是否有可能附加一个ENGINE 实施到SSL CTX and or SSL 结构 我想要实现的是拥有一个SSL CTX 将使用 OpenSSL 中内置的默认加密操作和另一个设置SSL CTX 将使用专用 HSM 作为加密层 我可以通