Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
fce8311c
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看板
提交
fce8311c
编写于
10月 19, 2014
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove FIPS module code from crypto/dsa
Reviewed-by:
N
Tim Hudson
<
tjh@openssl.org
>
上级
8d73db28
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
0 addition
and
198 deletion
+0
-198
crypto/dsa/dsa.h
crypto/dsa/dsa.h
+0
-15
crypto/dsa/dsa_gen.c
crypto/dsa/dsa_gen.c
+0
-105
crypto/dsa/dsa_key.c
crypto/dsa/dsa_key.c
+0
-43
crypto/dsa/dsa_ossl.c
crypto/dsa/dsa_ossl.c
+0
-35
未找到文件。
crypto/dsa/dsa.h
浏览文件 @
fce8311c
...
...
@@ -213,21 +213,6 @@ void DSA_set_default_method(const DSA_METHOD *);
const
DSA_METHOD
*
DSA_get_default_method
(
void
);
int
DSA_set_method
(
DSA
*
dsa
,
const
DSA_METHOD
*
);
#ifdef OPENSSL_FIPS
DSA
*
FIPS_dsa_new
(
void
);
void
FIPS_dsa_free
(
DSA
*
r
);
DSA_SIG
*
FIPS_dsa_sign_digest
(
DSA
*
dsa
,
const
unsigned
char
*
dig
,
int
dlen
);
DSA_SIG
*
FIPS_dsa_sign_ctx
(
DSA
*
dsa
,
EVP_MD_CTX
*
ctx
);
int
FIPS_dsa_verify_digest
(
DSA
*
dsa
,
const
unsigned
char
*
dig
,
int
dlen
,
DSA_SIG
*
s
);
int
FIPS_dsa_verify_ctx
(
DSA
*
dsa
,
EVP_MD_CTX
*
ctx
,
DSA_SIG
*
s
);
int
FIPS_dsa_verify
(
DSA
*
dsa
,
const
unsigned
char
*
msg
,
size_t
msglen
,
const
EVP_MD
*
mhash
,
DSA_SIG
*
s
);
DSA_SIG
*
FIPS_dsa_sign
(
DSA
*
dsa
,
const
unsigned
char
*
msg
,
size_t
msglen
,
const
EVP_MD
*
mhash
);
#endif
DSA
*
DSA_new
(
void
);
DSA
*
DSA_new_method
(
ENGINE
*
engine
);
void
DSA_free
(
DSA
*
r
);
...
...
crypto/dsa/dsa_gen.c
浏览文件 @
fce8311c
...
...
@@ -81,10 +81,6 @@
#include <openssl/bn.h>
#include <openssl/rand.h>
#include <openssl/sha.h>
#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#include <openssl/fips_rand.h>
#endif
#include "dsa_locl.h"
...
...
@@ -134,21 +130,6 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
BN_CTX
*
ctx
=
NULL
;
unsigned
int
h
=
2
;
#ifdef OPENSSL_FIPS
if
(
FIPS_selftest_failed
())
{
FIPSerr
(
FIPS_F_DSA_BUILTIN_PARAMGEN
,
FIPS_R_FIPS_SELFTEST_FAILED
);
goto
err
;
}
if
(
FIPS_module_mode
()
&&
!
(
ret
->
flags
&
DSA_FLAG_NON_FIPS_ALLOW
)
&&
(
bits
<
OPENSSL_DSA_FIPS_MIN_MODULUS_BITS
))
{
DSAerr
(
DSA_F_DSA_BUILTIN_PARAMGEN
,
DSA_R_KEY_SIZE_TOO_SMALL
);
goto
err
;
}
#endif
if
(
qsize
!=
SHA_DIGEST_LENGTH
&&
qsize
!=
SHA224_DIGEST_LENGTH
&&
qsize
!=
SHA256_DIGEST_LENGTH
)
/* invalid q size */
...
...
@@ -372,80 +353,6 @@ err:
return
ok
;
}
#ifdef OPENSSL_FIPS
/* Security strength of parameter values for (L,N): see FIPS186-3 4.2
* and SP800-131A
*/
static
int
fips_ffc_strength
(
size_t
L
,
size_t
N
)
{
if
(
L
>=
15360
&&
N
>=
512
)
return
256
;
if
(
L
>=
7680
&&
N
>=
384
)
return
192
;
if
(
L
>=
3072
&&
N
>=
256
)
return
128
;
if
(
L
>=
2048
&&
N
>=
224
)
return
112
;
if
(
L
>=
1024
&&
N
>=
160
)
return
80
;
return
0
;
}
/* Valid DSA2 parameters from FIPS 186-3 */
static
int
dsa2_valid_parameters
(
size_t
L
,
size_t
N
)
{
if
(
L
==
1024
&&
N
==
160
)
return
80
;
if
(
L
==
2048
&&
N
==
224
)
return
112
;
if
(
L
==
2048
&&
N
==
256
)
return
112
;
if
(
L
==
3072
&&
N
==
256
)
return
128
;
return
0
;
}
int
fips_check_dsa_prng
(
DSA
*
dsa
,
size_t
L
,
size_t
N
)
{
int
strength
;
if
(
!
FIPS_module_mode
())
return
1
;
if
(
dsa
->
flags
&
(
DSA_FLAG_NON_FIPS_ALLOW
|
DSA_FLAG_FIPS_CHECKED
))
return
1
;
if
(
!
L
||
!
N
)
{
L
=
BN_num_bits
(
dsa
->
p
);
N
=
BN_num_bits
(
dsa
->
q
);
}
if
(
!
dsa2_valid_parameters
(
L
,
N
))
{
FIPSerr
(
FIPS_F_FIPS_CHECK_DSA_PRNG
,
FIPS_R_INVALID_PARAMETERS
);
return
0
;
}
strength
=
fips_ffc_strength
(
L
,
N
);
if
(
!
strength
)
{
FIPSerr
(
FIPS_F_FIPS_CHECK_DSA_PRNG
,
FIPS_R_KEY_TOO_SHORT
);
return
0
;
}
if
(
FIPS_rand_strength
()
>=
strength
)
return
1
;
FIPSerr
(
FIPS_F_FIPS_CHECK_DSA_PRNG
,
FIPS_R_PRNG_STRENGTH_TOO_LOW
);
return
0
;
}
#endif
/* OPENSSL_FIPS */
/* This is a parameter generation algorithm for the DSA2 algorithm as
* described in FIPS 186-3.
*/
...
...
@@ -471,18 +378,6 @@ int dsa_builtin_paramgen2(DSA *ret, size_t L, size_t N,
EVP_MD_CTX_init
(
&
mctx
);
#ifdef OPENSSL_FIPS
if
(
FIPS_selftest_failed
())
{
FIPSerr
(
FIPS_F_DSA_BUILTIN_PARAMGEN2
,
FIPS_R_FIPS_SELFTEST_FAILED
);
goto
err
;
}
if
(
!
fips_check_dsa_prng
(
ret
,
L
,
N
))
goto
err
;
#endif
if
(
evpmd
==
NULL
)
{
if
(
N
==
160
)
...
...
crypto/dsa/dsa_key.c
浏览文件 @
fce8311c
...
...
@@ -66,30 +66,6 @@
#include <openssl/dsa.h>
#include <openssl/rand.h>
#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#include <openssl/evp.h>
static
int
fips_check_dsa
(
DSA
*
dsa
)
{
EVP_PKEY
pk
;
unsigned
char
tbs
[]
=
"DSA Pairwise Check Data"
;
pk
.
type
=
EVP_PKEY_DSA
;
pk
.
pkey
.
dsa
=
dsa
;
if
(
!
fips_pkey_signature_test
(
FIPS_TEST_PAIRWISE
,
&
pk
,
tbs
,
0
,
NULL
,
0
,
NULL
,
0
,
NULL
))
{
FIPSerr
(
FIPS_F_FIPS_CHECK_DSA
,
FIPS_R_PAIRWISE_TEST_FAILED
);
fips_set_selftest_fail
();
return
0
;
}
return
1
;
}
#endif
static
int
dsa_builtin_keygen
(
DSA
*
dsa
);
int
DSA_generate_key
(
DSA
*
dsa
)
...
...
@@ -105,17 +81,6 @@ static int dsa_builtin_keygen(DSA *dsa)
BN_CTX
*
ctx
=
NULL
;
BIGNUM
*
pub_key
=
NULL
,
*
priv_key
=
NULL
;
#ifdef OPENSSL_FIPS
if
(
FIPS_module_mode
()
&&
!
(
dsa
->
flags
&
DSA_FLAG_NON_FIPS_ALLOW
)
&&
(
BN_num_bits
(
dsa
->
p
)
<
OPENSSL_DSA_FIPS_MIN_MODULUS_BITS
))
{
DSAerr
(
DSA_F_DSA_BUILTIN_KEYGEN
,
DSA_R_KEY_SIZE_TOO_SMALL
);
goto
err
;
}
if
(
!
fips_check_dsa_prng
(
dsa
,
0
,
0
))
goto
err
;
#endif
if
((
ctx
=
BN_CTX_new
())
==
NULL
)
goto
err
;
if
(
dsa
->
priv_key
==
NULL
)
...
...
@@ -154,14 +119,6 @@ static int dsa_builtin_keygen(DSA *dsa)
dsa
->
priv_key
=
priv_key
;
dsa
->
pub_key
=
pub_key
;
#ifdef OPENSSL_FIPS
if
(
!
fips_check_dsa
(
dsa
))
{
dsa
->
pub_key
=
NULL
;
dsa
->
priv_key
=
NULL
;
goto
err
;
}
#endif
ok
=
1
;
err:
...
...
crypto/dsa/dsa_ossl.c
浏览文件 @
fce8311c
...
...
@@ -67,9 +67,6 @@
#include <openssl/dsa.h>
#include <openssl/rand.h>
#include <openssl/asn1.h>
#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#endif
static
DSA_SIG
*
dsa_do_sign
(
const
unsigned
char
*
dgst
,
int
dlen
,
DSA
*
dsa
);
static
int
dsa_sign_setup_no_digest
(
DSA
*
dsa
,
BN_CTX
*
ctx_in
,
BIGNUM
**
kinvp
,
BIGNUM
**
rp
);
...
...
@@ -146,23 +143,6 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
DSA_SIG
*
ret
=
NULL
;
int
noredo
=
0
;
#ifdef OPENSSL_FIPS
if
(
FIPS_selftest_failed
())
{
FIPSerr
(
FIPS_F_DSA_DO_SIGN
,
FIPS_R_FIPS_SELFTEST_FAILED
);
return
NULL
;
}
if
(
FIPS_module_mode
()
&&
!
(
dsa
->
flags
&
DSA_FLAG_NON_FIPS_ALLOW
)
&&
(
BN_num_bits
(
dsa
->
p
)
<
OPENSSL_DSA_FIPS_MIN_MODULUS_BITS
))
{
DSAerr
(
DSA_F_DSA_DO_SIGN
,
DSA_R_KEY_SIZE_TOO_SMALL
);
return
NULL
;
}
if
(
!
fips_check_dsa_prng
(
dsa
,
0
,
0
))
goto
err
;
#endif
BN_init
(
&
m
);
BN_init
(
&
xr
);
...
...
@@ -372,21 +352,6 @@ static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig,
return
-
1
;
}
#ifdef OPENSSL_FIPS
if
(
FIPS_selftest_failed
())
{
FIPSerr
(
FIPS_F_DSA_DO_VERIFY
,
FIPS_R_FIPS_SELFTEST_FAILED
);
return
-
1
;
}
if
(
FIPS_module_mode
()
&&
!
(
dsa
->
flags
&
DSA_FLAG_NON_FIPS_ALLOW
)
&&
(
BN_num_bits
(
dsa
->
p
)
<
OPENSSL_DSA_FIPS_MIN_MODULUS_BITS
))
{
DSAerr
(
DSA_F_DSA_DO_VERIFY
,
DSA_R_KEY_SIZE_TOO_SMALL
);
return
-
1
;
}
#endif
if
(
BN_num_bits
(
dsa
->
p
)
>
OPENSSL_DSA_MAX_MODULUS_BITS
)
{
DSAerr
(
DSA_F_DSA_DO_VERIFY
,
DSA_R_MODULUS_TOO_LARGE
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录