Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
cf70b8f5
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cf70b8f5
编写于
10月 27, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify ecdsatest to use accessor
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
7236e3c8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
9 deletion
+14
-9
test/ecdsatest.c
test/ecdsatest.c
+14
-9
未找到文件。
test/ecdsatest.c
浏览文件 @
cf70b8f5
...
...
@@ -193,6 +193,7 @@ int x9_62_test_internal(BIO *out, int nid, const char *r_in, const char *s_in)
ECDSA_SIG
*
signature
=
NULL
;
BIGNUM
*
r
=
NULL
,
*
s
=
NULL
;
BIGNUM
*
kinv
=
NULL
,
*
rp
=
NULL
;
BIGNUM
*
sig_r
,
*
sig_s
;
if
(
md_ctx
==
NULL
)
goto
x962_int_err
;
...
...
@@ -227,7 +228,8 @@ int x9_62_test_internal(BIO *out, int nid, const char *r_in, const char *s_in)
goto
x962_int_err
;
if
(
!
BN_dec2bn
(
&
r
,
r_in
)
||
!
BN_dec2bn
(
&
s
,
s_in
))
goto
x962_int_err
;
if
(
BN_cmp
(
signature
->
r
,
r
)
||
BN_cmp
(
signature
->
s
,
s
))
ECDSA_SIG_get0
(
&
sig_r
,
&
sig_s
,
signature
);
if
(
BN_cmp
(
sig_r
,
r
)
||
BN_cmp
(
sig_s
,
s
))
goto
x962_int_err
;
BIO_printf
(
out
,
"."
);
(
void
)
BIO_flush
(
out
);
...
...
@@ -303,6 +305,7 @@ int test_builtin(BIO *out)
const
unsigned
char
*
sig_ptr
;
unsigned
char
*
sig_ptr2
;
unsigned
char
*
raw_buf
=
NULL
;
BIGNUM
*
sig_r
,
*
sig_s
;
unsigned
int
sig_len
,
degree
,
r_len
,
s_len
,
bn_len
,
buf_len
;
int
nid
,
ret
=
0
;
...
...
@@ -433,9 +436,11 @@ int test_builtin(BIO *out)
goto
builtin_err
;
}
ECDSA_SIG_get0
(
&
sig_r
,
&
sig_s
,
ecdsa_sig
);
/* Store the two BIGNUMs in raw_buf. */
r_len
=
BN_num_bytes
(
ecdsa_sig
->
r
);
s_len
=
BN_num_bytes
(
ecdsa_sig
->
s
);
r_len
=
BN_num_bytes
(
sig_
r
);
s_len
=
BN_num_bytes
(
sig_
s
);
bn_len
=
(
degree
+
7
)
/
8
;
if
((
r_len
>
bn_len
)
||
(
s_len
>
bn_len
))
{
BIO_printf
(
out
,
" failed
\n
"
);
...
...
@@ -444,16 +449,16 @@ int test_builtin(BIO *out)
buf_len
=
2
*
bn_len
;
if
((
raw_buf
=
OPENSSL_zalloc
(
buf_len
))
==
NULL
)
goto
builtin_err
;
BN_bn2bin
(
ecdsa_sig
->
r
,
raw_buf
+
bn_len
-
r_len
);
BN_bn2bin
(
ecdsa_sig
->
s
,
raw_buf
+
buf_len
-
s_len
);
BN_bn2bin
(
sig_
r
,
raw_buf
+
bn_len
-
r_len
);
BN_bn2bin
(
sig_
s
,
raw_buf
+
buf_len
-
s_len
);
/* Modify a single byte in the buffer. */
offset
=
raw_buf
[
10
]
%
buf_len
;
dirt
=
raw_buf
[
11
]
?
raw_buf
[
11
]
:
1
;
raw_buf
[
offset
]
^=
dirt
;
/* Now read the BIGNUMs back in from raw_buf. */
if
((
BN_bin2bn
(
raw_buf
,
bn_len
,
ecdsa_sig
->
r
)
==
NULL
)
||
(
BN_bin2bn
(
raw_buf
+
bn_len
,
bn_len
,
ecdsa_sig
->
s
)
==
NULL
))
if
((
BN_bin2bn
(
raw_buf
,
bn_len
,
sig_
r
)
==
NULL
)
||
(
BN_bin2bn
(
raw_buf
+
bn_len
,
bn_len
,
sig_
s
)
==
NULL
))
goto
builtin_err
;
sig_ptr2
=
signature
;
...
...
@@ -466,8 +471,8 @@ int test_builtin(BIO *out)
* Sanity check: undo the modification and verify signature.
*/
raw_buf
[
offset
]
^=
dirt
;
if
((
BN_bin2bn
(
raw_buf
,
bn_len
,
ecdsa_sig
->
r
)
==
NULL
)
||
(
BN_bin2bn
(
raw_buf
+
bn_len
,
bn_len
,
ecdsa_sig
->
s
)
==
NULL
))
if
((
BN_bin2bn
(
raw_buf
,
bn_len
,
sig_
r
)
==
NULL
)
||
(
BN_bin2bn
(
raw_buf
+
bn_len
,
bn_len
,
sig_
s
)
==
NULL
))
goto
builtin_err
;
sig_ptr2
=
signature
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录