@@ -181,7 +181,7 @@ namespace hcpp
181181 ta_ = w;
182182 }
183183
184- static thread_local std::unordered_map<std::string, subject_identify> ca_subject_map ;
184+ static thread_local std::unordered_map<std::string, subject_identify> server_subject_map ;
185185
186186 awaitable<void > mimt_https_server::wait_c (std::size_t cn, std::vector<proxy_service> ps)
187187 {
@@ -210,7 +210,6 @@ namespace hcpp
210210 {
211211 try
212212 {
213- // 放到单独的协程运行
214213 std::shared_ptr<channel_client> cc = co_await c->async_receive ();
215214 auto hsc = std::make_unique<https_client>();
216215 hsc->host_ = cc->host_ ;
@@ -221,6 +220,7 @@ namespace hcpp
221220 log::error (" 无法获取socket" );
222221 continue ;
223222 }
223+ // TODO 抽象工厂方法
224224 auto sk = std::make_shared<mitm_svc>();
225225 part_cert_info pci{};
226226
@@ -232,15 +232,15 @@ namespace hcpp
232232 sk->close_sni ();
233233 }
234234 co_await sk->make_memory (hsc->host_ , hsc->service_ , pci);
235- if (auto i = ca_subject_map .find (hsc->host_ ); i != ca_subject_map .end ())
235+ if (auto i = server_subject_map .find (hsc->host_ ); i != server_subject_map .end ())
236236 {
237237 si = i->second ;
238238 }
239239 else
240240 {
241- log::info (" mimt_https_server::wait_c:创建ca_subject_map缓存 => {}" , hsc->host_ );
241+ log::info (" mimt_https_server::wait_c:创建server_subject_map缓存 => {}" , hsc->host_ );
242242 si = sk->make_fake_server_id (pci.dns_name_ , ca_subject);
243- ca_subject_map .insert ({hsc->host_ , si});
243+ server_subject_map .insert ({hsc->host_ , si});
244244 }
245245
246246 hsc->set_mem (co_await std::move (*cc).make (std::move (si)));
@@ -300,4 +300,9 @@ namespace hcpp
300300 ca_subject_ = std::make_shared<subject_identify>(std::move (ca_subject));
301301 }
302302
303+ void mimt_https_server::set_root_verify_store_path (std::string_view root_verify_store_path)
304+ {
305+ root_verify_store_path_=root_verify_store_path;
306+ }
307+
303308} // namespace hcpp
0 commit comments