Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
559d5013
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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,发现更多精彩内容 >>
提交
559d5013
编写于
12月 24, 2006
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add bit I missed from PKCS#7 streaming encoder.
上级
11d8cdc6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
10 deletion
+28
-10
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pk7_doit.c
+28
-10
未找到文件。
crypto/pkcs7/pk7_doit.c
浏览文件 @
559d5013
...
@@ -301,6 +301,8 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
...
@@ -301,6 +301,8 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
xa
=
p7
->
d
.
digest
->
md
;
xa
=
p7
->
d
.
digest
->
md
;
os
=
PKCS7_get_octet_string
(
p7
->
d
.
digest
->
contents
);
os
=
PKCS7_get_octet_string
(
p7
->
d
.
digest
->
contents
);
break
;
break
;
case
NID_pkcs7_data
:
break
;
default:
default:
PKCS7err
(
PKCS7_F_PKCS7_DATAINIT
,
PKCS7_R_UNSUPPORTED_CONTENT_TYPE
);
PKCS7err
(
PKCS7_F_PKCS7_DATAINIT
,
PKCS7_R_UNSUPPORTED_CONTENT_TYPE
);
goto
err
;
goto
err
;
...
@@ -372,7 +374,10 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
...
@@ -372,7 +374,10 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
BIO_set_mem_eof_return
(
bio
,
0
);
BIO_set_mem_eof_return
(
bio
,
0
);
}
}
}
}
BIO_push
(
out
,
bio
);
if
(
out
)
BIO_push
(
out
,
bio
);
else
out
=
bio
;
bio
=
NULL
;
bio
=
NULL
;
if
(
0
)
if
(
0
)
{
{
...
@@ -697,24 +702,37 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
...
@@ -697,24 +702,37 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
switch
(
i
)
switch
(
i
)
{
{
case
NID_pkcs7_data
:
os
=
p7
->
d
.
data
;
break
;
case
NID_pkcs7_signedAndEnveloped
:
case
NID_pkcs7_signedAndEnveloped
:
/* XXXXXXXXXXXXXXXX */
/* XXXXXXXXXXXXXXXX */
si_sk
=
p7
->
d
.
signed_and_enveloped
->
signer_info
;
si_sk
=
p7
->
d
.
signed_and_enveloped
->
signer_info
;
if
(
!
(
os
=
M_ASN1_OCTET_STRING_new
()))
os
=
p7
->
d
.
signed_and_enveloped
->
enc_data
->
enc_data
;
if
(
!
os
)
{
{
PKCS7err
(
PKCS7_F_PKCS7_DATAFINAL
,
ERR_R_MALLOC_FAILURE
);
os
=
M_ASN1_OCTET_STRING_new
();
goto
err
;
if
(
!
os
)
{
PKCS7err
(
PKCS7_F_PKCS7_DATAFINAL
,
ERR_R_MALLOC_FAILURE
);
goto
err
;
}
p7
->
d
.
signed_and_enveloped
->
enc_data
->
enc_data
=
os
;
}
}
p7
->
d
.
signed_and_enveloped
->
enc_data
->
enc_data
=
os
;
break
;
break
;
case
NID_pkcs7_enveloped
:
case
NID_pkcs7_enveloped
:
/* XXXXXXXXXXXXXXXX */
/* XXXXXXXXXXXXXXXX */
if
(
!
(
os
=
M_ASN1_OCTET_STRING_new
()))
os
=
p7
->
d
.
enveloped
->
enc_data
->
enc_data
;
if
(
!
os
)
{
{
PKCS7err
(
PKCS7_F_PKCS7_DATAFINAL
,
ERR_R_MALLOC_FAILURE
);
os
=
M_ASN1_OCTET_STRING_new
();
goto
err
;
if
(
!
os
)
{
PKCS7err
(
PKCS7_F_PKCS7_DATAFINAL
,
ERR_R_MALLOC_FAILURE
);
goto
err
;
}
p7
->
d
.
enveloped
->
enc_data
->
enc_data
=
os
;
}
}
p7
->
d
.
enveloped
->
enc_data
->
enc_data
=
os
;
break
;
break
;
case
NID_pkcs7_signed
:
case
NID_pkcs7_signed
:
si_sk
=
p7
->
d
.
sign
->
signer_info
;
si_sk
=
p7
->
d
.
sign
->
signer_info
;
...
@@ -799,7 +817,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
...
@@ -799,7 +817,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
M_ASN1_OCTET_STRING_set
(
p7
->
d
.
digest
->
digest
,
md_data
,
md_len
);
M_ASN1_OCTET_STRING_set
(
p7
->
d
.
digest
->
digest
,
md_data
,
md_len
);
}
}
if
(
!
PKCS7_is_detached
(
p7
))
if
(
!
PKCS7_is_detached
(
p7
)
&&
!
(
os
->
flags
&
ASN1_STRING_FLAG_NDEF
)
)
{
{
char
*
cont
;
char
*
cont
;
long
contlen
;
long
contlen
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录