ssl - Poco 库中的手动 SSL 服务器初始化问题
问题描述
当我在服务器端手动初始化 ssl 时出现问题。使用服务器端的自动 SSL 初始化没有问题,它 (HTTPSTimeServer) 工作得很好。但是手动初始化无法正常工作。当使用邮递员向服务器发送请求时,我在服务器端的邮递员中收到以下错误:
错误:写入 EPROTO 2959635336:error:10000438:SSL 例程:OPENSSL_internal:TLSV1_ALERT_INTERNAL_ERROR:../../third_party/boringssl/src/ssl/tls_record.cc:594:SSL 警报号 80
这是我的例子:
Poco::Net::initializeSSL();
SharedPtr<PrivateKeyPassphraseHandler> pConsoleHandler = new Poco::Net::KeyConsoleHandler(true);
SharedPtr<InvalidCertificateHandler> pInvalidCertHandler = new Poco::Net::AcceptCertificateHandler(true);
SSLManager::instance().initializeServer(pConsoleHandler, pInvalidCertHandler, NULL);
Context::Ptr pContext = new Context(Context::SERVER_USE, "any.pem", "any.pem", "rootcert.pem",
Context::VERIFY_RELAXED, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");
SSLManager::instance().initializeServer(pConsoleHandler, pInvalidCertHandler, pContext);
int maxQueued = 100;
int maxThreads = 16;
HTTPServerParams* pParams = new HTTPServerParams;
pParams->setMaxQueued(maxQueued);
pParams->setMaxThreads(maxThreads);
pParams->setKeepAlive(true);
pParams->setKeepAliveTimeout(Poco::Timespan(5,0));
SecureServerSocket sec(9090);
HTTPServer srv(new RequestHandlerFactory, sec, pParams);
srv.start();
有什么遗漏吗?
我正在使用 Windows 8.1、Visual Studio 2019、Poco 版本 1.11.0、Win32 OpenSSL v1.1.1L
解决方案
推荐阅读
- ssl - 即使我们已经有 SSL / TLS 加密请求和响应正文和参数?
- docker - 在启动时创建一个带有现有 rdb 和加载模块的 redis docker 容器?
- node.js - 如何使用 node.js、express.js 将图像上传到 mongodb
- html - 如何从 Angular 9 中的 firebase 实时数据库中检索单个产品详细信息并以 html 格式打印?
- java - 我的世界插件重新加载配置不起作用
- r - 使用工具提示的 Highcharter 的 hctreemap2 中的百分比?
- laravel - 图像未在 Laravel Blade 中显示
- django - verbose_name_plural 在 django admin 中无法正常工作
- python - Django 如何过滤查询集以插入常见结果
- laravel - Laravel 5.8 到 6.x 升级错误 - App\Exceptions\Handler::renderHttpException 声明