Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
b814c01a
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
9 个月 前同步成功
通知
8
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b814c01a
编写于
6月 04, 2008
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Tidy up and add comments to selection code.
上级
c07a126f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
11 deletion
+11
-11
engines/e_capi.c
engines/e_capi.c
+11
-11
未找到文件。
engines/e_capi.c
浏览文件 @
b814c01a
...
...
@@ -1526,7 +1526,7 @@ static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl,
hstore
=
capi_open_store
(
ctx
,
storename
);
if
(
!
hstore
)
return
0
;
/* Enumerate all certificates
looking for a match
*/
/* Enumerate all certificates
collect any matches
*/
for
(
i
=
0
;;
i
++
)
{
cert
=
CertEnumCertificatesInStore
(
hstore
,
cert
);
...
...
@@ -1544,6 +1544,9 @@ static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl,
key
=
capi_get_cert_key
(
ctx
,
cert
);
if
(
!
key
)
continue
;
/* Match found: attach extra data to it so
* we can retrieve the key later.
*/
excert
=
CertDuplicateCertificateContext
(
cert
);
X509_set_ex_data
(
x
,
cert_capi_idx
,
key
);
...
...
@@ -1551,16 +1554,6 @@ static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl,
certs
=
sk_X509_new_null
();
sk_X509_push
(
certs
,
x
);
#if 0
pk = capi_get_pkey(e, key);
if (!pk)
{
capi_free_key(key);
continue;
}
*pcert = x;
*pkey = pk;
#endif
}
else
X509_free
(
x
);
...
...
@@ -1573,8 +1566,13 @@ static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl,
if
(
!
certs
)
return
0
;
/* Select the appropriate certificate */
client_cert_idx
=
client_cert_select
(
e
,
ssl
,
certs
);
/* Set the selected certificate and free the rest */
for
(
i
=
0
;
i
<
sk_X509_num
(
certs
);
i
++
)
{
x
=
sk_X509_value
(
certs
,
i
);
...
...
@@ -1593,6 +1591,8 @@ static int capi_load_ssl_client_cert(ENGINE *e, SSL *ssl,
if
(
!*
pcert
)
return
0
;
/* Setup key for selected certificate */
key
=
X509_get_ex_data
(
*
pcert
,
cert_capi_idx
);
*
pkey
=
capi_get_pkey
(
e
,
key
);
X509_set_ex_data
(
*
pcert
,
cert_capi_idx
,
NULL
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录