Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
cf517a6d
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
接近 2 年 前同步成功
通知
12
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看板
提交
cf517a6d
编写于
10月 27, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add ECDSA_size to ec_asn1.c
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
c5359791
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
40 addition
and
0 deletion
+40
-0
crypto/ec/ec_asn1.c
crypto/ec/ec_asn1.c
+34
-0
include/openssl/ec.h
include/openssl/ec.h
+6
-0
未找到文件。
crypto/ec/ec_asn1.c
浏览文件 @
cf517a6d
...
@@ -1319,3 +1319,37 @@ void ECDSA_SIG_get0(BIGNUM **pr, BIGNUM **ps, ECDSA_SIG *sig)
...
@@ -1319,3 +1319,37 @@ void ECDSA_SIG_get0(BIGNUM **pr, BIGNUM **ps, ECDSA_SIG *sig)
if
(
ps
)
if
(
ps
)
*
ps
=
sig
->
s
;
*
ps
=
sig
->
s
;
}
}
int
ECDSA_size
(
const
EC_KEY
*
r
)
{
int
ret
,
i
;
ASN1_INTEGER
bs
;
BIGNUM
*
order
=
NULL
;
unsigned
char
buf
[
4
];
const
EC_GROUP
*
group
;
if
(
r
==
NULL
)
return
0
;
group
=
EC_KEY_get0_group
(
r
);
if
(
group
==
NULL
)
return
0
;
if
((
order
=
BN_new
())
==
NULL
)
return
0
;
if
(
!
EC_GROUP_get_order
(
group
,
order
,
NULL
))
{
BN_clear_free
(
order
);
return
0
;
}
i
=
BN_num_bits
(
order
);
bs
.
length
=
(
i
+
7
)
/
8
;
bs
.
data
=
buf
;
bs
.
type
=
V_ASN1_INTEGER
;
/* If the top bit is set the asn1 encoding is 1 larger. */
buf
[
0
]
=
0xff
;
i
=
i2d_ASN1_INTEGER
(
&
bs
,
NULL
);
i
+=
i
;
/* r and s */
ret
=
ASN1_object_size
(
1
,
i
,
V_ASN1_SEQUENCE
);
BN_clear_free
(
order
);
return
(
ret
);
}
include/openssl/ec.h
浏览文件 @
cf517a6d
...
@@ -1089,6 +1089,12 @@ int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen,
...
@@ -1089,6 +1089,12 @@ int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen,
int
ECDSA_verify
(
int
type
,
const
unsigned
char
*
dgst
,
int
dgstlen
,
int
ECDSA_verify
(
int
type
,
const
unsigned
char
*
dgst
,
int
dgstlen
,
const
unsigned
char
*
sig
,
int
siglen
,
EC_KEY
*
eckey
);
const
unsigned
char
*
sig
,
int
siglen
,
EC_KEY
*
eckey
);
/** Returns the maximum length of the DER encoded signature
* \param eckey EC_KEY object
* \return numbers of bytes required for the DER encoded signature
*/
int
ECDSA_size
(
const
EC_KEY
*
eckey
);
# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x)
# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x)
# ifndef __cplusplus
# ifndef __cplusplus
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录