Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
245a7eee
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,发现更多精彩内容 >>
提交
245a7eee
编写于
1月 25, 2011
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
recalculate DSA signature if r or s is zero (FIPS 186-3 requirement)
上级
6e0375d5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
1 deletion
+17
-1
crypto/dsa/dsa.h
crypto/dsa/dsa.h
+1
-0
crypto/dsa/dsa_err.c
crypto/dsa/dsa_err.c
+1
-0
crypto/dsa/dsa_ossl.c
crypto/dsa/dsa_ossl.c
+15
-1
未找到文件。
crypto/dsa/dsa.h
浏览文件 @
245a7eee
...
...
@@ -299,6 +299,7 @@ void ERR_load_DSA_strings(void);
#define DSA_R_INVALID_DIGEST_TYPE 106
#define DSA_R_MISSING_PARAMETERS 101
#define DSA_R_MODULUS_TOO_LARGE 103
#define DSA_R_NEED_NEW_SETUP_VALUES 110
#define DSA_R_NO_PARAMETERS_SET 107
#define DSA_R_PARAMETER_ENCODING_ERROR 105
...
...
crypto/dsa/dsa_err.c
浏览文件 @
245a7eee
...
...
@@ -106,6 +106,7 @@ static ERR_STRING_DATA DSA_str_reasons[]=
{
ERR_REASON
(
DSA_R_INVALID_DIGEST_TYPE
)
,
"invalid digest type"
},
{
ERR_REASON
(
DSA_R_MISSING_PARAMETERS
)
,
"missing parameters"
},
{
ERR_REASON
(
DSA_R_MODULUS_TOO_LARGE
)
,
"modulus too large"
},
{
ERR_REASON
(
DSA_R_NEED_NEW_SETUP_VALUES
)
,
"need new setup values"
},
{
ERR_REASON
(
DSA_R_NO_PARAMETERS_SET
)
,
"no parameters set"
},
{
ERR_REASON
(
DSA_R_PARAMETER_ENCODING_ERROR
),
"parameter encoding error"
},
{
0
,
NULL
}
...
...
crypto/dsa/dsa_ossl.c
浏览文件 @
245a7eee
...
...
@@ -136,6 +136,7 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
BN_CTX
*
ctx
=
NULL
;
int
reason
=
ERR_R_BN_LIB
;
DSA_SIG
*
ret
=
NULL
;
int
noredo
=
0
;
BN_init
(
&
m
);
BN_init
(
&
xr
);
...
...
@@ -159,7 +160,7 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
ctx
=
BN_CTX_new
();
if
(
ctx
==
NULL
)
goto
err
;
redo:
if
((
dsa
->
kinv
==
NULL
)
||
(
dsa
->
r
==
NULL
))
{
if
(
!
DSA_sign_setup
(
dsa
,
ctx
,
&
kinv
,
&
r
))
goto
err
;
...
...
@@ -170,6 +171,7 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
dsa
->
kinv
=
NULL
;
r
=
dsa
->
r
;
dsa
->
r
=
NULL
;
noredo
=
1
;
}
...
...
@@ -190,6 +192,18 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
ret
=
DSA_SIG_new
();
if
(
ret
==
NULL
)
goto
err
;
/* Redo if r or s is zero as required by FIPS 186-3: this is
* very unlikely.
*/
if
(
BN_is_zero
(
r
)
||
BN_is_zero
(
s
))
{
if
(
noredo
)
{
reason
=
DSA_R_NEED_NEW_SETUP_VALUES
;
goto
err
;
}
goto
redo
;
}
ret
->
r
=
r
;
ret
->
s
=
s
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录