Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
58606421
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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,发现更多精彩内容 >>
提交
58606421
编写于
9月 10, 2004
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
When looking for request extensions in a certificate look first
for the PKCS#9 OID then the non standard MS OID.
上级
d813ff2a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
16 addition
and
16 deletion
+16
-16
crypto/x509/x509_req.c
crypto/x509/x509_req.c
+16
-16
未找到文件。
crypto/x509/x509_req.c
浏览文件 @
58606421
...
@@ -158,7 +158,7 @@ int X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k)
...
@@ -158,7 +158,7 @@ int X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k)
* used and there may be more: so the list is configurable.
* used and there may be more: so the list is configurable.
*/
*/
static
int
ext_nid_list
[]
=
{
NID_
ms_ext_req
,
NID
_ext_req
,
NID_undef
};
static
int
ext_nid_list
[]
=
{
NID_
ext_req
,
NID_ms
_ext_req
,
NID_undef
};
static
int
*
ext_nids
=
ext_nid_list
;
static
int
*
ext_nids
=
ext_nid_list
;
...
@@ -183,27 +183,27 @@ void X509_REQ_set_extension_nids(int *nids)
...
@@ -183,27 +183,27 @@ void X509_REQ_set_extension_nids(int *nids)
}
}
STACK_OF
(
X509_EXTENSION
)
*
X509_REQ_get_extensions
(
X509_REQ
*
req
)
STACK_OF
(
X509_EXTENSION
)
*
X509_REQ_get_extensions
(
X509_REQ
*
req
)
{
{
X509_ATTRIBUTE
*
attr
;
X509_ATTRIBUTE
*
attr
;
STACK_OF
(
X509_ATTRIBUTE
)
*
sk
;
ASN1_TYPE
*
ext
=
NULL
;
ASN1_TYPE
*
ext
=
NULL
;
int
i
;
int
i
dx
,
*
pnid
;
const
unsigned
char
*
p
;
const
unsigned
char
*
p
;
if
((
req
==
NULL
)
||
(
req
->
req_info
==
NULL
))
if
((
req
==
NULL
)
||
(
req
->
req_info
==
NULL
)
||
!
ext_nids
)
return
(
NULL
);
return
(
NULL
);
sk
=
req
->
req_info
->
attributes
;
for
(
pnid
=
ext_nids
;
*
pnid
!=
NID_undef
;
pnid
++
)
if
(
!
sk
)
return
NULL
;
{
for
(
i
=
0
;
i
<
sk_X509_ATTRIBUTE_num
(
sk
);
i
++
)
{
idx
=
X509_REQ_get_attr_by_NID
(
req
,
*
pnid
,
-
1
);
attr
=
sk_X509_ATTRIBUTE_value
(
sk
,
i
);
if
(
idx
==
-
1
)
if
(
X509_REQ_extension_nid
(
OBJ_obj2nid
(
attr
->
object
)))
{
continue
;
attr
=
X509_REQ_get_attr
(
req
,
idx
);
if
(
attr
->
single
)
ext
=
attr
->
value
.
single
;
if
(
attr
->
single
)
ext
=
attr
->
value
.
single
;
else
if
(
sk_ASN1_TYPE_num
(
attr
->
value
.
set
))
else
if
(
sk_ASN1_TYPE_num
(
attr
->
value
.
set
))
ext
=
sk_ASN1_TYPE_value
(
attr
->
value
.
set
,
0
);
ext
=
sk_ASN1_TYPE_value
(
attr
->
value
.
set
,
0
);
break
;
break
;
}
}
}
if
(
!
ext
||
(
ext
->
type
!=
V_ASN1_SEQUENCE
))
if
(
!
ext
||
(
ext
->
type
!=
V_ASN1_SEQUENCE
))
return
NULL
;
return
NULL
;
p
=
ext
->
value
.
sequence
->
data
;
p
=
ext
->
value
.
sequence
->
data
;
return
d2i_ASN1_SET_OF_X509_EXTENSION
(
NULL
,
&
p
,
return
d2i_ASN1_SET_OF_X509_EXTENSION
(
NULL
,
&
p
,
ext
->
value
.
sequence
->
length
,
ext
->
value
.
sequence
->
length
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录