我有一个可用的OpenSSL RSA引擎(即.so
文件)和一个在SSL模式下配置的Apache服务器。
如何让Apache使用RSA引擎实现RSA?换句话说:我在哪里放引擎(.so
文件),我该如何修改openssl.cnf
文件,以及如何构建Apache?将Apache服务器配置为使用特定的OpenSSL引擎
回答
的步骤,为我工作:从源
1.安装OpenSSL的,运行./config
1.1.Create /建立你的OpenSSL引擎和它添加到您的openssl.cnf
文件
2.安装的httpd时指定-DOPENSSL_LOAD_CONF
源,使用以下命令:
CFLAGS='-DSSL_EXPERIMENTAL_ENGINE -DSSL_ENGINE -DOPENSSL_LOAD_CONF' ./configure --enable-ssl --with-ssl=/usr/local/ssl --with-pcre=/usr/local/pcre --enable-so
make
make install
2.1.Edit httpd-ssl.conf
加入SSLCryptoDevice engine_id
,并确保执行$ openssl engine
时,engine_id
说明符出现在列表中。此外,您必须创建自签名证书和私钥,修改httpd.conf
文件,但这不是此问题的主题。搜索:如何在Apache上配置HTTPS。
3. $ httpd -k restart
就是这样。
EDIT
.so
文件(Openssl的ENGINE)的地方必须在openssl.cnf
指定。
首先,我不完全理解你的问题。我假定你的意思是你的系统上安装了Apache正在使用的OpenSSL版本,并且你想使用另外一个(也许是后来的版本),你也下载并安装了这个版本?
这真的取决于该平台(Windows或Linux),你怎么安装的Apache(预装系统,通过的软件包管理器像百胜或易于得到,或者手动从源代码安装)。
像Windows安装和软件包管理器那样的预先构建的软件包倾向于使用系统默认的SSL库,并且不是最容易改变的(尽管我对它们都不太熟悉)。
因此,最简单的方法是从源代码而不是从预编译的软件包安装Apache。
您通常需要使用make来构建你的代码之前设置这个在编译时,下载源后,使用--with-SSL选项来配置:
./configure --with-ssl=/usr/local/ssl --enable-ssl --enable-so
如果您还没有安装从源头之前,这可能有点吓人。我在HTTP2的博客文章中给出了关于如何从Linux上的源代码下载和安装最新的OpenSSL和Apache的详细说明:https://www.tunetheweb.com/performance/http2/,但在您的特定平台上可能会有更好的选择。
我不认为我理解得很好。所以当我尝试安装Apache时,我应该使用你在上面的答案中陈述的内容。 –
我扩大了我的答案。 –
我不想使用不同的OpenSSL版本。我只想集成一个[OpenSSL引擎](https://www.openssl.org/docs/manmaster/crypto/engine.html),以便使用不同的RSA算法实现。 –
- 1. 配置的app.yaml应用服务引擎
- 2. Bugzilla Apache服务器配置
- 3. Apache Vysper服务器配置?
- 4. 使用tomcat 7配置mod_proxy apache https服务器https服务器
- 5. 配置Apache Web服务器以使用代理服务器
- 6. 应用服务引擎工作Maven3配置+ DataNucleus将+ JPA 2
- 7. 将HG配置为对特定服务器使用未压缩传输
- 8. 休眠,服务器特定配置
- 9. Web服务器使用OpenSSL
- 10. BPM引擎与BPM引擎服务器
- 11. Apache Web服务器的配置问题
- 12. 使用Grizzly作为Web服务引擎
- 13. 在Apache服务器上使用OpenSSL的Single SignOn
- 14. 使用smtp参数配置谷歌应用程序引擎生产服务器
- 15. 使用Google Apps引擎的外部SMTP服务器/服务
- 16. apache服务器配置代理
- 17. 如何配置Apache Tomcat服务器
- 18. Apache服务器配置虚拟主机
- 19. 下载apache服务器配置
- 20. 如何为Net :: HTTP使用自定义OpenSSL引擎
- 21. 如何为Web服务配置apache mod_rewrite
- 22. Apache服务器(xampp)在使用openssl函数时崩溃
- 23. 使用谷歌应用程序引擎作为SMTP服务器
- 24. 将sinatra配置为服务器
- 25. 如何禁用openssl引擎?
- 26. Apache服务器配置多个Apache Tomcat应用
- 27. Apache配置。 Magento您的网络服务器配置不正确
- 28. 如何将Web服务器配置为将特定页面作为默认页面进行服务?
- 29. 在Windows 7上设置Apache服务器(特别是使用SSI)
- 30. 使用Angular4作为服务器端渲染引擎
[在Unix和Linux Stack Exchange上通过mod_ssl在Apache中运行时自定义OpenSSL引擎](http://unix.stackexchange.com/q/180343)和[通过engine_pkcs11和OpenSSL将Apache与PKCS#11设备集成] (http://serverfault.com/q/711580)在服务器故障。 – jww
嗨jww,我已经阅读过你提供的第一个链接,但我不知道如何修改'openssl.cnf'文件。你认为[this](https://www.openssl.org/docs/manmaster/apps/config.html)会是一个好的开始吗? –
@jww我修改了'openssl。cnf'文件,并按照我在前面的评论中提供的链接中所述添加了我的引擎。 [Apache文档](http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcryptodevice)说:“要发现支持哪些引擎名称,运行命令”openssl engine“”,但我的引擎ID不会出现在列表中。我怎样才能解决这个问题? –