Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
8c5a2bd6
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
11 个月 前同步成功
通知
8
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,发现更多精彩内容 >>
提交
8c5a2bd6
编写于
1月 29, 2006
作者:
N
Nils Larsch
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add additional checks + cleanup
Submitted by: David Hartman <david_hartman@symantec.com>
上级
25a58453
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
90 addition
and
42 deletion
+90
-42
crypto/asn1/a_strex.c
crypto/asn1/a_strex.c
+5
-2
crypto/asn1/t_pkey.c
crypto/asn1/t_pkey.c
+22
-12
crypto/asn1/tasn_dec.c
crypto/asn1/tasn_dec.c
+2
-0
crypto/bio/bss_file.c
crypto/bio/bss_file.c
+3
-0
crypto/bn/bn_gf2m.c
crypto/bn/bn_gf2m.c
+2
-1
crypto/ec/ec_asn1.c
crypto/ec/ec_asn1.c
+11
-10
crypto/ecdsa/ecs_lib.c
crypto/ecdsa/ecs_lib.c
+6
-2
crypto/err/err.c
crypto/err/err.c
+1
-1
crypto/objects/obj_lib.c
crypto/objects/obj_lib.c
+2
-1
crypto/rsa/rsa_depr.c
crypto/rsa/rsa_depr.c
+2
-1
crypto/store/str_meth.c
crypto/store/str_meth.c
+3
-1
crypto/x509/x509_r2x.c
crypto/x509/x509_r2x.c
+4
-2
crypto/x509v3/pcy_tree.c
crypto/x509v3/pcy_tree.c
+1
-0
engines/e_cswift.c
engines/e_cswift.c
+6
-5
engines/e_sureware.c
engines/e_sureware.c
+2
-0
ssl/d1_enc.c
ssl/d1_enc.c
+4
-1
ssl/d1_pkt.c
ssl/d1_pkt.c
+7
-1
ssl/s3_srvr.c
ssl/s3_srvr.c
+7
-2
未找到文件。
crypto/asn1/a_strex.c
浏览文件 @
8c5a2bd6
...
...
@@ -194,6 +194,8 @@ static int do_buf(unsigned char *buf, int buflen,
if
(
i
<
0
)
return
-
1
;
/* Invalid UTF8String */
p
+=
i
;
break
;
default:
return
-
1
;
/* invalid width */
}
if
(
p
==
q
)
orflags
=
CHARTYPE_LAST_ESC_2253
;
if
(
type
&
BUF_TYPE_CONVUTF8
)
{
...
...
@@ -356,12 +358,13 @@ static int do_print_ex(char_io *io_ch, void *arg, unsigned long lflags, ASN1_STR
}
len
=
do_buf
(
str
->
data
,
str
->
length
,
type
,
flags
,
&
quotes
,
io_ch
,
NULL
);
if
(
out
len
<
0
)
return
-
1
;
if
(
len
<
0
)
return
-
1
;
outlen
+=
len
;
if
(
quotes
)
outlen
+=
2
;
if
(
!
arg
)
return
outlen
;
if
(
quotes
&&
!
io_ch
(
arg
,
"
\"
"
,
1
))
return
-
1
;
do_buf
(
str
->
data
,
str
->
length
,
type
,
flags
,
NULL
,
io_ch
,
arg
);
if
(
do_buf
(
str
->
data
,
str
->
length
,
type
,
flags
,
NULL
,
io_ch
,
arg
)
<
0
)
return
-
1
;
if
(
quotes
&&
!
io_ch
(
arg
,
"
\"
"
,
1
))
return
-
1
;
return
outlen
;
}
...
...
crypto/asn1/t_pkey.c
浏览文件 @
8c5a2bd6
...
...
@@ -109,7 +109,7 @@ int RSA_print(BIO *bp, const RSA *x, int off)
char
str
[
128
];
const
char
*
s
;
unsigned
char
*
m
=
NULL
;
int
ret
=
0
;
int
ret
=
0
,
mod_len
=
0
;
size_t
buf_len
=
0
,
i
;
if
(
x
->
n
)
...
...
@@ -143,27 +143,37 @@ int RSA_print(BIO *bp, const RSA *x, int off)
goto
err
;
}
if
(
x
->
n
!=
NULL
)
mod_len
=
BN_num_bits
(
x
->
n
);
if
(
x
->
d
!=
NULL
)
{
if
(
!
BIO_indent
(
bp
,
off
,
128
))
goto
err
;
if
(
BIO_printf
(
bp
,
"Private-Key: (%d bit)
\n
"
,
BN_num_bits
(
x
->
n
)
)
if
(
BIO_printf
(
bp
,
"Private-Key: (%d bit)
\n
"
,
mod_len
)
<=
0
)
goto
err
;
}
if
(
x
->
d
==
NULL
)
BIO_snprintf
(
str
,
sizeof
str
,
"Modulus (%d bit):"
,
BN_num_bits
(
x
->
n
)
);
BIO_snprintf
(
str
,
sizeof
str
,
"Modulus (%d bit):"
,
mod_len
);
else
BUF_strlcpy
(
str
,
"modulus:"
,
sizeof
str
);
if
(
!
print
(
bp
,
str
,
x
->
n
,
m
,
off
))
goto
err
;
s
=
(
x
->
d
==
NULL
)
?
"Exponent:"
:
"publicExponent:"
;
if
(
!
print
(
bp
,
s
,
x
->
e
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"privateExponent:"
,
x
->
d
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"prime1:"
,
x
->
p
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"prime2:"
,
x
->
q
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"exponent1:"
,
x
->
dmp1
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"exponent2:"
,
x
->
dmq1
,
m
,
off
))
goto
err
;
if
(
!
print
(
bp
,
"coefficient:"
,
x
->
iqmp
,
m
,
off
))
goto
err
;
if
((
x
->
e
!=
NULL
)
&&
!
print
(
bp
,
s
,
x
->
e
,
m
,
off
))
goto
err
;
if
((
x
->
d
!=
NULL
)
&&
!
print
(
bp
,
"privateExponent:"
,
x
->
d
,
m
,
off
))
goto
err
;
if
((
x
->
p
!=
NULL
)
&&
!
print
(
bp
,
"prime1:"
,
x
->
p
,
m
,
off
))
goto
err
;
if
((
x
->
q
!=
NULL
)
&&
!
print
(
bp
,
"prime2:"
,
x
->
q
,
m
,
off
))
goto
err
;
if
((
x
->
dmp1
!=
NULL
)
&&
!
print
(
bp
,
"exponent1:"
,
x
->
dmp1
,
m
,
off
))
goto
err
;
if
((
x
->
dmq1
!=
NULL
)
&&
!
print
(
bp
,
"exponent2:"
,
x
->
dmq1
,
m
,
off
))
goto
err
;
if
((
x
->
iqmp
!=
NULL
)
&&
!
print
(
bp
,
"coefficient:"
,
x
->
iqmp
,
m
,
off
))
goto
err
;
ret
=
1
;
err:
if
(
m
!=
NULL
)
OPENSSL_free
(
m
);
...
...
@@ -760,8 +770,8 @@ int DSAparams_print(BIO *bp, const DSA *x)
BN_num_bits
(
x
->
p
))
<=
0
)
goto
err
;
if
(
!
print
(
bp
,
"p:"
,
x
->
p
,
m
,
4
))
goto
err
;
if
(
!
print
(
bp
,
"q:"
,
x
->
q
,
m
,
4
))
goto
err
;
if
(
!
print
(
bp
,
"g:"
,
x
->
g
,
m
,
4
))
goto
err
;
if
(
(
x
->
q
!=
NULL
)
&&
!
print
(
bp
,
"q:"
,
x
->
q
,
m
,
4
))
goto
err
;
if
(
(
x
->
g
!=
NULL
)
&&
!
print
(
bp
,
"g:"
,
x
->
g
,
m
,
4
))
goto
err
;
ret
=
1
;
err:
if
(
m
!=
NULL
)
OPENSSL_free
(
m
);
...
...
crypto/asn1/tasn_dec.c
浏览文件 @
8c5a2bd6
...
...
@@ -924,6 +924,8 @@ int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
if
(
!*
pval
)
{
typ
=
ASN1_TYPE_new
();
if
(
typ
==
NULL
)
goto
err
;
*
pval
=
(
ASN1_VALUE
*
)
typ
;
}
else
...
...
crypto/bio/bss_file.c
浏览文件 @
8c5a2bd6
...
...
@@ -128,7 +128,10 @@ BIO *BIO_new_file(const char *filename, const char *mode)
return
(
NULL
);
}
if
((
ret
=
BIO_new
(
BIO_s_file
()))
==
NULL
)
{
fclose
(
file
);
return
(
NULL
);
}
BIO_clear_flags
(
ret
,
BIO_FLAGS_UPLINK
);
/* we did fopen -> we disengage UPLINK */
BIO_set_fp
(
ret
,
file
,
BIO_CLOSE
);
...
...
crypto/bn/bn_gf2m.c
浏览文件 @
8c5a2bd6
...
...
@@ -1018,7 +1018,8 @@ int BN_GF2m_arr2poly(const unsigned int p[], BIGNUM *a)
BN_zero
(
a
);
for
(
i
=
0
;
p
[
i
]
!=
0
;
i
++
)
{
BN_set_bit
(
a
,
p
[
i
]);
if
(
BN_set_bit
(
a
,
p
[
i
])
==
0
)
return
0
;
}
BN_set_bit
(
a
,
0
);
bn_check_top
(
a
);
...
...
crypto/ec/ec_asn1.c
浏览文件 @
8c5a2bd6
...
...
@@ -837,11 +837,6 @@ static EC_GROUP *ec_asn1_parameters2group(const ECPARAMETERS *params)
/* create the EC_GROUP structure */
ret
=
EC_GROUP_new_curve_GF2m
(
p
,
a
,
b
,
NULL
);
if
(
ret
==
NULL
)
{
ECerr
(
EC_F_EC_ASN1_PARAMETERS2GROUP
,
ERR_R_EC_LIB
);
goto
err
;
}
}
else
if
(
tmp
==
NID_X9_62_prime_field
)
{
...
...
@@ -860,11 +855,17 @@ static EC_GROUP *ec_asn1_parameters2group(const ECPARAMETERS *params)
}
/* create the EC_GROUP structure */
ret
=
EC_GROUP_new_curve_GFp
(
p
,
a
,
b
,
NULL
);
if
(
ret
==
NULL
)
{
ECerr
(
EC_F_EC_ASN1_PARAMETERS2GROUP
,
ERR_R_EC_LIB
);
goto
err
;
}
}
else
{
ECerr
(
EC_F_EC_ASN1_PARAMETERS2GROUP
,
EC_R_INVALID_FIELD
);
goto
err
;
}
if
(
ret
==
NULL
)
{
ECerr
(
EC_F_EC_ASN1_PARAMETERS2GROUP
,
ERR_R_EC_LIB
);
goto
err
;
}
/* extract seed (optional) */
...
...
crypto/ecdsa/ecs_lib.c
浏览文件 @
8c5a2bd6
...
...
@@ -206,10 +206,14 @@ int ECDSA_size(const EC_KEY *r)
ASN1_INTEGER
bs
;
BIGNUM
*
order
=
NULL
;
unsigned
char
buf
[
4
];
const
EC_GROUP
*
group
=
EC_KEY_get0_group
(
r
)
;
const
EC_GROUP
*
group
;
if
(
r
==
NULL
||
group
==
NULL
)
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
))
{
...
...
crypto/err/err.c
浏览文件 @
8c5a2bd6
...
...
@@ -1108,7 +1108,7 @@ int ERR_pop_to_mark(void)
{
err_clear
(
es
,
es
->
top
);
es
->
top
-=
1
;
if
(
es
->
top
==
-
1
)
es
->
top
=
ERR_NUM_ERRORS
;
if
(
es
->
top
==
-
1
)
es
->
top
=
ERR_NUM_ERRORS
-
1
;
}
if
(
es
->
bottom
==
es
->
top
)
return
0
;
...
...
crypto/objects/obj_lib.c
浏览文件 @
8c5a2bd6
...
...
@@ -82,7 +82,8 @@ ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o)
r
->
data
=
OPENSSL_malloc
(
o
->
length
);
if
(
r
->
data
==
NULL
)
goto
err
;
memcpy
(
r
->
data
,
o
->
data
,
o
->
length
);
if
(
o
->
data
!=
NULL
)
memcpy
(
r
->
data
,
o
->
data
,
o
->
length
);
r
->
length
=
o
->
length
;
r
->
nid
=
o
->
nid
;
r
->
ln
=
r
->
sn
=
NULL
;
...
...
crypto/rsa/rsa_depr.c
浏览文件 @
8c5a2bd6
...
...
@@ -83,7 +83,8 @@ RSA *RSA_generate_key(int bits, unsigned long e_value,
for
(
i
=
0
;
i
<
(
int
)
sizeof
(
unsigned
long
)
*
8
;
i
++
)
{
if
(
e_value
&
(
1UL
<<
i
))
BN_set_bit
(
e
,
i
);
if
(
BN_set_bit
(
e
,
i
)
==
0
)
goto
err
;
}
BN_GENCB_set_old
(
&
cb
,
callback
,
cb_arg
);
...
...
crypto/store/str_meth.c
浏览文件 @
8c5a2bd6
...
...
@@ -65,8 +65,10 @@ STORE_METHOD *STORE_create_method(char *name)
STORE_METHOD
*
store_method
=
(
STORE_METHOD
*
)
OPENSSL_malloc
(
sizeof
(
STORE_METHOD
));
if
(
store_method
)
{
memset
(
store_method
,
0
,
sizeof
(
*
store_method
));
store_method
->
name
=
BUF_strdup
(
name
);
store_method
->
name
=
BUF_strdup
(
name
);
}
return
store_method
;
}
...
...
crypto/x509/x509_r2x.c
浏览文件 @
8c5a2bd6
...
...
@@ -89,8 +89,10 @@ X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey)
}
xn
=
X509_REQ_get_subject_name
(
r
);
X509_set_subject_name
(
ret
,
X509_NAME_dup
(
xn
));
X509_set_issuer_name
(
ret
,
X509_NAME_dup
(
xn
));
if
(
X509_set_subject_name
(
ret
,
X509_NAME_dup
(
xn
))
==
0
)
goto
err
;
if
(
X509_set_issuer_name
(
ret
,
X509_NAME_dup
(
xn
))
==
0
)
goto
err
;
if
(
X509_gmtime_adj
(
xi
->
validity
->
notBefore
,
0
)
==
NULL
)
goto
err
;
...
...
crypto/x509v3/pcy_tree.c
浏览文件 @
8c5a2bd6
...
...
@@ -631,6 +631,7 @@ int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy,
break
;
}
if
(
!
tree
)
goto
error
;
ret
=
tree_evaluate
(
tree
);
if
(
ret
<=
0
)
...
...
engines/e_cswift.c
浏览文件 @
8c5a2bd6
...
...
@@ -744,6 +744,12 @@ static int cswift_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx
int
to_return
=
0
;
const
RSA_METHOD
*
def_rsa_method
;
if
(
!
rsa
->
p
||
!
rsa
->
q
||
!
rsa
->
dmp1
||
!
rsa
->
dmq1
||
!
rsa
->
iqmp
)
{
CSWIFTerr
(
CSWIFT_F_CSWIFT_RSA_MOD_EXP
,
CSWIFT_R_MISSING_KEY_COMPONENTS
);
goto
err
;
}
/* Try the limits of RSA (2048 bits) */
if
(
BN_num_bytes
(
rsa
->
p
)
>
128
||
BN_num_bytes
(
rsa
->
q
)
>
128
||
...
...
@@ -764,11 +770,6 @@ static int cswift_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx
return
def_rsa_method
->
rsa_mod_exp
(
r0
,
I
,
rsa
,
ctx
);
}
if
(
!
rsa
->
p
||
!
rsa
->
q
||
!
rsa
->
dmp1
||
!
rsa
->
dmq1
||
!
rsa
->
iqmp
)
{
CSWIFTerr
(
CSWIFT_F_CSWIFT_RSA_MOD_EXP
,
CSWIFT_R_MISSING_KEY_COMPONENTS
);
goto
err
;
}
to_return
=
cswift_mod_exp_crt
(
r0
,
I
,
rsa
->
p
,
rsa
->
q
,
rsa
->
dmp1
,
rsa
->
dmq1
,
rsa
->
iqmp
,
ctx
);
err:
...
...
engines/e_sureware.c
浏览文件 @
8c5a2bd6
...
...
@@ -976,11 +976,13 @@ static DSA_SIG * surewarehk_dsa_do_sign(const unsigned char *from, int flen, DSA
if
(
!
p_surewarehk_Dsa_Sign
)
{
SUREWAREerr
(
SUREWARE_F_SUREWAREHK_DSA_DO_SIGN
,
ENGINE_R_NOT_INITIALISED
);
goto
err
;
}
/* extract ref to private key */
else
if
(
!
(
hptr
=
DSA_get_ex_data
(
dsa
,
dsaHndidx
)))
{
SUREWAREerr
(
SUREWARE_F_SUREWAREHK_DSA_DO_SIGN
,
SUREWARE_R_MISSING_KEY_COMPONENTS
);
goto
err
;
}
else
{
...
...
ssl/d1_enc.c
浏览文件 @
8c5a2bd6
...
...
@@ -146,7 +146,10 @@ int dtls1_enc(SSL *s, int send)
fprintf
(
stderr
,
"%s:%d: rec->data != rec->input
\n
"
,
__FILE__
,
__LINE__
);
else
if
(
EVP_CIPHER_block_size
(
ds
->
cipher
)
>
1
)
RAND_bytes
(
rec
->
input
,
EVP_CIPHER_block_size
(
ds
->
cipher
));
{
if
(
!
RAND_bytes
(
rec
->
input
,
EVP_CIPHER_block_size
(
ds
->
cipher
)))
return
-
1
;
}
}
}
else
...
...
ssl/d1_pkt.c
浏览文件 @
8c5a2bd6
...
...
@@ -237,7 +237,13 @@ dtls1_buffer_record(SSL *s, record_pqueue *queue, unsigned char *priority)
memset
(
&
(
s
->
s3
->
rbuf
),
0
,
sizeof
(
SSL3_BUFFER
));
memset
(
&
(
s
->
s3
->
rrec
),
0
,
sizeof
(
SSL3_RECORD
));
ssl3_setup_buffers
(
s
);
if
(
!
ssl3_setup_buffers
(
s
))
{
SSLerr
(
SSL_F_DTLS1_BUFFER_RECORD
,
ERR_R_INTERNAL_ERROR
);
OPENSSL_free
(
rdata
);
pitem_free
(
item
);
return
(
0
);
}
return
(
1
);
}
...
...
ssl/s3_srvr.c
浏览文件 @
8c5a2bd6
...
...
@@ -2110,8 +2110,13 @@ int ssl3_get_client_key_exchange(SSL *s)
goto
f_err
;
}
EC_POINT_copy
(
clnt_ecpoint
,
EC_KEY_get0_public_key
(
clnt_pub_pkey
->
pkey
.
ec
));
if
(
EC_POINT_copy
(
clnt_ecpoint
,
EC_KEY_get0_public_key
(
clnt_pub_pkey
->
pkey
.
ec
))
==
0
)
{
SSLerr
(
SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE
,
ERR_R_EC_LIB
);
goto
err
;
}
ret
=
2
;
/* Skip certificate verify processing */
}
else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录