Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
6dd9b0fc
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看板
提交
6dd9b0fc
编写于
4月 18, 2012
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
e_rc4_hmac_md5.c: harmonize zero-length fragment handling with
e_aes_cbc_hmac_sha1.c (mostly for aesthetic reasons).
上级
e36f6b9c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
5 deletion
+7
-5
crypto/evp/e_rc4_hmac_md5.c
crypto/evp/e_rc4_hmac_md5.c
+7
-5
未找到文件。
crypto/evp/e_rc4_hmac_md5.c
浏览文件 @
6dd9b0fc
...
...
@@ -75,6 +75,8 @@ typedef struct
size_t
payload_length
;
}
EVP_RC4_HMAC_MD5
;
#define NO_PAYLOAD_LENGTH ((size_t)-1)
void
rc4_md5_enc
(
RC4_KEY
*
key
,
const
void
*
in0
,
void
*
out
,
MD5_CTX
*
ctx
,
const
void
*
inp
,
size_t
blocks
);
...
...
@@ -93,7 +95,7 @@ static int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx,
key
->
tail
=
key
->
head
;
key
->
md
=
key
->
head
;
key
->
payload_length
=
0
;
key
->
payload_length
=
NO_PAYLOAD_LENGTH
;
return
1
;
}
...
...
@@ -122,10 +124,10 @@ static int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
#endif
size_t
plen
=
key
->
payload_length
;
if
(
plen
&&
len
!=
(
plen
+
MD5_DIGEST_LENGTH
))
return
0
;
if
(
plen
!=
NO_PAYLOAD_LENGTH
&&
len
!=
(
plen
+
MD5_DIGEST_LENGTH
))
return
0
;
if
(
ctx
->
encrypt
)
{
if
(
plen
==
0
)
plen
=
len
;
if
(
plen
==
NO_PAYLOAD_LENGTH
)
plen
=
len
;
#if defined(STITCHED_CALL)
/* cipher has to "fall behind" */
if
(
rc4_off
>
md5_off
)
md5_off
+=
MD5_CBLOCK
;
...
...
@@ -190,7 +192,7 @@ static int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
#endif
/* decrypt HMAC at once */
RC4
(
&
key
->
ks
,
len
-
rc4_off
,
in
+
rc4_off
,
out
+
rc4_off
);
if
(
plen
)
{
/* "TLS" mode of operation */
if
(
plen
!=
NO_PAYLOAD_LENGTH
)
{
/* "TLS" mode of operation */
MD5_Update
(
&
key
->
md
,
out
+
md5_off
,
plen
-
md5_off
);
/* calculate HMAC and verify it */
...
...
@@ -206,7 +208,7 @@ static int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
}
}
key
->
payload_length
=
0
;
key
->
payload_length
=
NO_PAYLOAD_LENGTH
;
return
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录