Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
a6801a91
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
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看板
提交
a6801a91
编写于
26年前
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add prototype, fix parameter passing bug.
上级
1933485b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
29 addition
and
16 deletion
+29
-16
CHANGES
CHANGES
+4
-0
crypto/x509/x509_lu.c
crypto/x509/x509_lu.c
+1
-1
crypto/x509/x509_vfy.h
crypto/x509/x509_vfy.h
+24
-15
未找到文件。
CHANGES
浏览文件 @
a6801a91
...
...
@@ -5,6 +5,10 @@
Changes between 0.9.1c and 0.9.2
*) Add prototypes to X509 lookup/verify methods, fixing a bug in
X509_LOOKUP_by_alias().
[Ben Laurie]
*) Sort openssl functions by name.
[Ben Laurie]
...
...
This diff is collapsed.
Click to expand it.
crypto/x509/x509_lu.c
浏览文件 @
a6801a91
...
...
@@ -175,7 +175,7 @@ X509_OBJECT *ret;
{
if
((
ctx
->
method
==
NULL
)
||
(
ctx
->
method
->
get_by_alias
==
NULL
))
return
(
X509_LU_FAIL
);
return
(
ctx
->
method
->
get_by_alias
(
ctx
,
str
,
len
,
ret
));
return
(
ctx
->
method
->
get_by_alias
(
ctx
,
type
,
str
,
len
,
ret
));
}
static
unsigned
long
x509_object_hash
(
a
)
...
...
This diff is collapsed.
Click to expand it.
crypto/x509/x509_vfy.h
浏览文件 @
a6801a91
...
...
@@ -119,21 +119,30 @@ typedef struct x509_object_st
}
data
;
}
X509_OBJECT
;
typedef
struct
x509_lookup_st
X509_LOOKUP
;
/* This is a static that defines the function interface */
typedef
struct
x509_lookup_method_st
{
char
*
name
;
int
(
*
new_item
)();
void
(
*
free
)();
int
(
*
init
)(
/* meth, char ** */
);
int
(
*
shutdown
)(
/* meth, char ** */
);
int
(
*
ctrl
)(
/* meth, char **, int cmd, char *argp, int argi */
);
int
(
*
get_by_subject
)(
/* meth, char **, XNAME *, X509 **ret */
);
int
(
*
get_by_issuer_serial
)();
int
(
*
get_by_fingerprint
)();
int
(
*
get_by_alias
)();
int
(
*
new_item
)(
X509_LOOKUP
*
ctx
);
void
(
*
free
)(
X509_LOOKUP
*
ctx
);
int
(
*
init
)(
X509_LOOKUP
*
ctx
);
int
(
*
shutdown
)(
X509_LOOKUP
*
ctx
);
int
(
*
ctrl
)(
X509_LOOKUP
*
ctx
,
int
cmd
,
char
*
argc
,
long
argl
,
char
**
ret
);
int
(
*
get_by_subject
)(
X509_LOOKUP
*
ctx
,
int
type
,
X509_NAME
*
name
,
X509_OBJECT
*
ret
);
int
(
*
get_by_issuer_serial
)(
X509_LOOKUP
*
ctx
,
int
type
,
X509_NAME
*
name
,
ASN1_INTEGER
*
serial
,
X509_OBJECT
*
ret
);
int
(
*
get_by_fingerprint
)(
X509_LOOKUP
*
ctx
,
int
type
,
unsigned
char
*
bytes
,
int
len
,
X509_OBJECT
*
ret
);
int
(
*
get_by_alias
)(
X509_LOOKUP
*
ctx
,
int
type
,
char
*
str
,
int
len
,
X509_OBJECT
*
ret
);
}
X509_LOOKUP_METHOD
;
typedef
struct
x509_store_state_st
X509_STORE_CTX
;
/* This is used to hold everything. It is used for all certificate
* validation. Once we have a certificate chain, the 'verify'
* function is then called to actually check the cert chain. */
...
...
@@ -149,8 +158,8 @@ typedef struct x509_store_st
/* These are external lookup methods */
STACK
*
get_cert_methods
;
/* X509_LOOKUP */
int
(
*
verify
)();
/* called to verify a certificate */
int
(
*
verify_cb
)();
/* error callback */
int
(
*
verify
)(
X509_STORE_CTX
*
ctx
);
/* called to verify a certificate */
int
(
*
verify_cb
)(
int
ok
,
X509_STORE_CTX
*
ctx
);
/* error callback */
CRYPTO_EX_DATA
ex_data
;
int
references
;
...
...
@@ -163,7 +172,7 @@ typedef struct x509_store_st
#define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func))
/* This is the functions plus an instance of the local variables. */
typedef
struct
x509_lookup_st
struct
x509_lookup_st
{
int
init
;
/* have we been started */
int
skip
;
/* don't use us. */
...
...
@@ -171,12 +180,12 @@ typedef struct x509_lookup_st
char
*
method_data
;
/* method data */
X509_STORE
*
store_ctx
;
/* who owns us */
}
X509_LOOKUP
;
};
/* This is a temporary used when processing cert chains. Since the
* gathering of the cert chain can take some time (and have to be
* 'retried', this needs to be kept and passed around. */
typedef
struct
x509_store_state_st
struct
x509_store_state_st
{
X509_STORE
*
ctx
;
int
current_method
;
/* used when looking up certs */
...
...
@@ -197,7 +206,7 @@ typedef struct x509_store_state_st
X509
*
current_cert
;
CRYPTO_EX_DATA
ex_data
;
}
X509_STORE_CTX
;
};
#define X509_STORE_CTX_set_app_data(ctx,data) \
X509_STORE_CTX_set_ex_data(ctx,0,data)
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部