Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
b05b50e6
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,发现更多精彩内容 >>
提交
b05b50e6
编写于
6月 02, 1999
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Stack.
上级
778ec213
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
31 addition
and
23 deletion
+31
-23
crypto/asn1/p7_s_e.c
crypto/asn1/p7_s_e.c
+8
-6
crypto/asn1/p7_signd.c
crypto/asn1/p7_signd.c
+11
-7
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pk7_doit.c
+3
-4
crypto/pkcs7/pk7_lib.c
crypto/pkcs7/pk7_lib.c
+3
-3
crypto/pkcs7/pkcs7.h
crypto/pkcs7/pkcs7.h
+6
-3
未找到文件。
crypto/asn1/p7_s_e.c
浏览文件 @
b05b50e6
...
...
@@ -71,7 +71,8 @@ int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **pp)
M_ASN1_I2D_len
(
a
->
enc_data
,
i2d_PKCS7_ENC_CONTENT
);
M_ASN1_I2D_len_IMP_SEQUENCE_opt_type
(
X509
,
a
->
cert
,
i2d_X509
,
0
);
M_ASN1_I2D_len_IMP_SET_opt_type
(
X509_CRL
,
a
->
crl
,
i2d_X509_CRL
,
1
);
M_ASN1_I2D_len_SET
(
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_len_SET_type
(
PKCS7_SIGNER_INFO
,
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_seq_total
();
...
...
@@ -81,7 +82,8 @@ int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **pp)
M_ASN1_I2D_put
(
a
->
enc_data
,
i2d_PKCS7_ENC_CONTENT
);
M_ASN1_I2D_put_IMP_SEQUENCE_opt_type
(
X509
,
a
->
cert
,
i2d_X509
,
0
);
M_ASN1_I2D_put_IMP_SET_opt_type
(
X509_CRL
,
a
->
crl
,
i2d_X509_CRL
,
1
);
M_ASN1_I2D_put_SET
(
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_put_SET_type
(
PKCS7_SIGNER_INFO
,
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_finish
();
}
...
...
@@ -102,8 +104,8 @@ PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a,
M_ASN1_D2I_get_IMP_set_opt_type
(
X509
,
ret
->
cert
,
d2i_X509
,
X509_free
,
0
);
M_ASN1_D2I_get_IMP_set_opt_type
(
X509_CRL
,
ret
->
crl
,
d2i_X509_CRL
,
X509_CRL_free
,
1
);
M_ASN1_D2I_get_set
(
ret
->
signer_info
,
d2i_PKCS7_SIGNER_INFO
,
PKCS7_SIGNER_INFO_free
);
M_ASN1_D2I_get_set
_type
(
PKCS7_SIGNER_INFO
,
ret
->
signer_info
,
d2i_PKCS7_SIGNER_INFO
,
PKCS7_SIGNER_INFO_free
);
M_ASN1_D2I_Finish
(
a
,
PKCS7_SIGN_ENVELOPE_free
,
ASN1_F_D2I_PKCS7_SIGN_ENVELOPE
);
...
...
@@ -121,7 +123,7 @@ PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new(void)
M_ASN1_New
(
ret
->
enc_data
,
PKCS7_ENC_CONTENT_new
);
ret
->
cert
=
NULL
;
ret
->
crl
=
NULL
;
M_ASN1_New
(
ret
->
signer_info
,
sk_new_null
);
M_ASN1_New
(
ret
->
signer_info
,
sk_
PKCS7_SIGNER_INFO_
new_null
);
return
(
ret
);
M_ASN1_New_Error
(
ASN1_F_PKCS7_SIGN_ENVELOPE_NEW
);
}
...
...
@@ -135,7 +137,7 @@ void PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a)
PKCS7_ENC_CONTENT_free
(
a
->
enc_data
);
sk_X509_pop_free
(
a
->
cert
,
X509_free
);
sk_X509_CRL_pop_free
(
a
->
crl
,
X509_CRL_free
);
sk_pop_free
(
a
->
signer_info
,
PKCS7_SIGNER_INFO_free
);
sk_
PKCS7_SIGNER_INFO_
pop_free
(
a
->
signer_info
,
PKCS7_SIGNER_INFO_free
);
Free
((
char
*
)
a
);
}
crypto/asn1/p7_signd.c
浏览文件 @
b05b50e6
...
...
@@ -70,7 +70,8 @@ int i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **pp)
M_ASN1_I2D_len
(
a
->
contents
,
i2d_PKCS7
);
M_ASN1_I2D_len_IMP_SEQUENCE_opt_type
(
X509
,
a
->
cert
,
i2d_X509
,
0
);
M_ASN1_I2D_len_IMP_SET_opt_type
(
X509_CRL
,
a
->
crl
,
i2d_X509_CRL
,
1
);
M_ASN1_I2D_len_SET
(
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_len_SET_type
(
PKCS7_SIGNER_INFO
,
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_seq_total
();
...
...
@@ -79,7 +80,8 @@ int i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **pp)
M_ASN1_I2D_put
(
a
->
contents
,
i2d_PKCS7
);
M_ASN1_I2D_put_IMP_SEQUENCE_opt_type
(
X509
,
a
->
cert
,
i2d_X509
,
0
);
M_ASN1_I2D_put_IMP_SET_opt_type
(
X509_CRL
,
a
->
crl
,
i2d_X509_CRL
,
1
);
M_ASN1_I2D_put_SET
(
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_put_SET_type
(
PKCS7_SIGNER_INFO
,
a
->
signer_info
,
i2d_PKCS7_SIGNER_INFO
);
M_ASN1_I2D_finish
();
}
...
...
@@ -98,8 +100,8 @@ PKCS7_SIGNED *d2i_PKCS7_SIGNED(PKCS7_SIGNED **a, unsigned char **pp,
M_ASN1_D2I_get_IMP_set_opt_type
(
X509
,
ret
->
cert
,
d2i_X509
,
X509_free
,
0
);
M_ASN1_D2I_get_IMP_set_opt_type
(
X509_CRL
,
ret
->
crl
,
d2i_X509_CRL
,
X509_CRL_free
,
1
);
M_ASN1_D2I_get_set
(
ret
->
signer_info
,
d2i_PKCS7_SIGNER_INFO
,
PKCS7_SIGNER_INFO_free
);
M_ASN1_D2I_get_set
_type
(
PKCS7_SIGNER_INFO
,
ret
->
signer_info
,
d2i_PKCS7_SIGNER_INFO
,
PKCS7_SIGNER_INFO_free
);
M_ASN1_D2I_Finish
(
a
,
PKCS7_SIGNED_free
,
ASN1_F_D2I_PKCS7_SIGNED
);
}
...
...
@@ -115,7 +117,7 @@ PKCS7_SIGNED *PKCS7_SIGNED_new(void)
M_ASN1_New
(
ret
->
contents
,
PKCS7_new
);
ret
->
cert
=
NULL
;
ret
->
crl
=
NULL
;
M_ASN1_New
(
ret
->
signer_info
,
sk_new_null
);
M_ASN1_New
(
ret
->
signer_info
,
sk_
PKCS7_SIGNER_INFO_
new_null
);
return
(
ret
);
M_ASN1_New_Error
(
ASN1_F_PKCS7_SIGNED_NEW
);
}
...
...
@@ -128,11 +130,13 @@ void PKCS7_SIGNED_free(PKCS7_SIGNED *a)
PKCS7_free
(
a
->
contents
);
sk_X509_pop_free
(
a
->
cert
,
X509_free
);
sk_X509_CRL_pop_free
(
a
->
crl
,
X509_CRL_free
);
sk_pop_free
(
a
->
signer_info
,
PKCS7_SIGNER_INFO_free
);
Free
(
(
char
*
)
a
);
sk_
PKCS7_SIGNER_INFO_
pop_free
(
a
->
signer_info
,
PKCS7_SIGNER_INFO_free
);
Free
(
a
);
}
IMPLEMENT_STACK_OF
(
X509_ALGOR
)
IMPLEMENT_ASN1_SET_OF
(
X509_ALGOR
)
IMPLEMENT_STACK_OF
(
X509_CRL
)
IMPLEMENT_ASN1_SET_OF
(
X509_CRL
)
IMPLEMENT_STACK_OF
(
PKCS7_SIGNER_INFO
)
IMPLEMENT_ASN1_SET_OF
(
PKCS7_SIGNER_INFO
)
crypto/pkcs7/pk7_doit.c
浏览文件 @
b05b50e6
...
...
@@ -466,7 +466,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
PKCS7_SIGNER_INFO
*
si
;
EVP_MD_CTX
*
mdc
,
ctx_tmp
;
STACK_OF
(
X509_ATTRIBUTE
)
*
sk
;
STACK
*
si_sk
=
NULL
;
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
si_sk
=
NULL
;
unsigned
char
*
p
,
*
pp
=
NULL
;
int
x
;
ASN1_OCTET_STRING
*
os
=
NULL
;
...
...
@@ -505,10 +505,9 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
PKCS7err
(
PKCS7_F_PKCS7_DATASIGN
,
ERR_R_BIO_LIB
);
goto
err
;
}
for
(
i
=
0
;
i
<
sk_num
(
si_sk
);
i
++
)
for
(
i
=
0
;
i
<
sk_
PKCS7_SIGNER_INFO_
num
(
si_sk
);
i
++
)
{
si
=
(
PKCS7_SIGNER_INFO
*
)
sk_value
(
si_sk
,
i
);
si
=
sk_PKCS7_SIGNER_INFO_value
(
si_sk
,
i
);
if
(
si
->
pkey
==
NULL
)
continue
;
j
=
OBJ_obj2nid
(
si
->
digest_alg
->
algorithm
);
...
...
crypto/pkcs7/pk7_lib.c
浏览文件 @
b05b50e6
...
...
@@ -190,7 +190,7 @@ int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
{
int
i
,
j
,
nid
;
X509_ALGOR
*
alg
;
STACK
*
signer_sk
;
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
signer_sk
;
STACK_OF
(
X509_ALGOR
)
*
md_sk
;
i
=
OBJ_obj2nid
(
p7
->
type
);
...
...
@@ -229,7 +229,7 @@ int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
sk_X509_ALGOR_push
(
md_sk
,
alg
);
}
sk_
push
(
signer_sk
,(
char
*
)
psi
);
sk_
PKCS7_SIGNER_INFO_push
(
signer_sk
,
psi
);
return
(
1
);
}
...
...
@@ -342,7 +342,7 @@ err:
return
(
NULL
);
}
STACK
*
PKCS7_get_signer_info
(
PKCS7
*
p7
)
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
PKCS7_get_signer_info
(
PKCS7
*
p7
)
{
if
(
PKCS7_type_is_signed
(
p7
))
{
...
...
crypto/pkcs7/pkcs7.h
浏览文件 @
b05b50e6
...
...
@@ -98,6 +98,9 @@ typedef struct pkcs7_signer_info_st
EVP_PKEY
*
pkey
;
}
PKCS7_SIGNER_INFO
;
DECLARE_STACK_OF
(
PKCS7_SIGNER_INFO
)
DECLARE_ASN1_SET_OF
(
PKCS7_SIGNER_INFO
)
typedef
struct
pkcs7_recip_info_st
{
ASN1_INTEGER
*
version
;
/* version 0 */
...
...
@@ -113,7 +116,7 @@ typedef struct pkcs7_signed_st
STACK_OF
(
X509_ALGOR
)
*
md_algs
;
/* md used */
STACK_OF
(
X509
)
*
cert
;
/* [ 0 ] */
STACK_OF
(
X509_CRL
)
*
crl
;
/* [ 1 ] */
STACK
/* PKCS7_SIGNER_INFO */
*
signer_info
;
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
signer_info
;
struct
pkcs7_st
*
contents
;
}
PKCS7_SIGNED
;
...
...
@@ -141,7 +144,7 @@ typedef struct pkcs7_signedandenveloped_st
STACK_OF
(
X509_ALGOR
)
*
md_algs
;
/* md used */
STACK_OF
(
X509
)
*
cert
;
/* [ 0 ] */
STACK_OF
(
X509_CRL
)
*
crl
;
/* [ 1 ] */
STACK
/* PKCS7_SIGNER_INFO */
*
signer_info
;
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
signer_info
;
PKCS7_ENC_CONTENT
*
enc_data
;
STACK
/* PKCS7_RECIP_INFO */
*
recipientinfo
;
...
...
@@ -336,7 +339,7 @@ BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert);
PKCS7_SIGNER_INFO
*
PKCS7_add_signature
(
PKCS7
*
p7
,
X509
*
x509
,
EVP_PKEY
*
pkey
,
EVP_MD
*
dgst
);
X509
*
PKCS7_cert_from_signer_info
(
PKCS7
*
p7
,
PKCS7_SIGNER_INFO
*
si
);
STACK
*
PKCS7_get_signer_info
(
PKCS7
*
p7
);
STACK
_OF
(
PKCS7_SIGNER_INFO
)
*
PKCS7_get_signer_info
(
PKCS7
*
p7
);
PKCS7_RECIP_INFO
*
PKCS7_add_recipient
(
PKCS7
*
p7
,
X509
*
x509
);
int
PKCS7_add_recipient_info
(
PKCS7
*
p7
,
PKCS7_RECIP_INFO
*
ri
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录