Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
ec3657f8
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看板
提交
ec3657f8
编写于
1月 26, 2011
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add fips_sha1_selftest.c
上级
d69c6653
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
99 addition
and
0 deletion
+99
-0
fips/sha/fips_sha1_selftest.c
fips/sha/fips_sha1_selftest.c
+99
-0
未找到文件。
fips/sha/fips_sha1_selftest.c
0 → 100644
浏览文件 @
ec3657f8
/* ====================================================================
* Copyright (c) 2003 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#define OPENSSL_FIPSEVP
#include <string.h>
#include <openssl/err.h>
#include <openssl/fips.h>
#include <openssl/evp.h>
#include <openssl/sha.h>
#ifdef OPENSSL_FIPS
static
char
test
[][
60
]
=
{
""
,
"abc"
,
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
};
static
const
unsigned
char
ret
[][
SHA_DIGEST_LENGTH
]
=
{
{
0xda
,
0x39
,
0xa3
,
0xee
,
0x5e
,
0x6b
,
0x4b
,
0x0d
,
0x32
,
0x55
,
0xbf
,
0xef
,
0x95
,
0x60
,
0x18
,
0x90
,
0xaf
,
0xd8
,
0x07
,
0x09
},
{
0xa9
,
0x99
,
0x3e
,
0x36
,
0x47
,
0x06
,
0x81
,
0x6a
,
0xba
,
0x3e
,
0x25
,
0x71
,
0x78
,
0x50
,
0xc2
,
0x6c
,
0x9c
,
0xd0
,
0xd8
,
0x9d
},
{
0x84
,
0x98
,
0x3e
,
0x44
,
0x1c
,
0x3b
,
0xd2
,
0x6e
,
0xba
,
0xae
,
0x4a
,
0xa1
,
0xf9
,
0x51
,
0x29
,
0xe5
,
0xe5
,
0x46
,
0x70
,
0xf1
},
};
void
FIPS_corrupt_sha1
()
{
test
[
2
][
0
]
++
;
}
int
FIPS_selftest_sha1
()
{
size_t
n
;
for
(
n
=
0
;
n
<
sizeof
(
test
)
/
sizeof
(
test
[
0
])
;
++
n
)
{
unsigned
char
md
[
SHA_DIGEST_LENGTH
];
EVP_Digest
(
test
[
n
],
strlen
(
test
[
n
]),
md
,
NULL
,
EVP_sha1
(),
NULL
);
if
(
memcmp
(
md
,
ret
[
n
],
sizeof
md
))
{
FIPSerr
(
FIPS_F_FIPS_SELFTEST_SHA1
,
FIPS_R_SELFTEST_FAILED
);
return
0
;
}
}
return
1
;
}
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录