Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
776cfa9b
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,发现更多精彩内容 >>
提交
776cfa9b
编写于
9月 27, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use accessors in pkcs12 app.
Reviewed-by:
N
Rich Salz
<
rsalz@openssl.org
>
上级
1387a2ec
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
11 deletion
+19
-11
apps/pkcs12.c
apps/pkcs12.c
+19
-11
未找到文件。
apps/pkcs12.c
浏览文件 @
776cfa9b
...
...
@@ -540,9 +540,12 @@ int pkcs12_main(int argc, char **argv)
if
(
!
twopass
)
OPENSSL_strlcpy
(
macpass
,
pass
,
sizeof
macpass
);
if
((
options
&
INFO
)
&&
p12
->
mac
)
if
((
options
&
INFO
)
&&
PKCS12_mac_present
(
p12
))
{
ASN1_INTEGER
*
tmaciter
;
PKCS12_get0_mac
(
NULL
,
NULL
,
NULL
,
&
tmaciter
,
p12
);
BIO_printf
(
bio_err
,
"MAC Iteration %ld
\n
"
,
p12
->
mac
->
iter
?
ASN1_INTEGER_get
(
p12
->
mac
->
iter
)
:
1
);
tmaciter
?
ASN1_INTEGER_get
(
tmaciter
)
:
1
);
}
if
(
macver
)
{
/* If we enter empty password try no password first */
if
(
!
mpass
[
0
]
&&
PKCS12_verify_mac
(
p12
,
NULL
,
0
))
{
...
...
@@ -640,6 +643,9 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
EVP_PKEY
*
pkey
;
PKCS8_PRIV_KEY_INFO
*
p8
;
X509
*
x509
;
STACK_OF
(
X509_ATTRIBUTE
)
*
attrs
;
attrs
=
PKCS12_SAFEBAG_get0_attrs
(
bag
);
switch
(
M_PKCS12_bag_type
(
bag
))
{
case
NID_keyBag
:
...
...
@@ -647,8 +653,8 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
BIO_printf
(
bio_err
,
"Key bag
\n
"
);
if
(
options
&
NOKEYS
)
return
1
;
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
p8
=
bag
->
value
.
keybag
;
print_attribs
(
out
,
attrs
,
"Bag Attributes"
);
p8
=
PKCS12_SAFEBAG_get0_p8inf
(
bag
)
;
if
((
pkey
=
EVP_PKCS82PKEY
(
p8
))
==
NULL
)
return
0
;
print_attribs
(
out
,
p8
->
attributes
,
"Key Attributes"
);
...
...
@@ -658,12 +664,14 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
case
NID_pkcs8ShroudedKeyBag
:
if
(
options
&
INFO
)
{
X509_SIG
*
tp8
;
BIO_printf
(
bio_err
,
"Shrouded Keybag: "
);
alg_print
(
bag
->
value
.
shkeybag
->
algor
);
tp8
=
PKCS12_SAFEBAG_get0_pkcs8
(
bag
);
alg_print
(
tp8
->
algor
);
}
if
(
options
&
NOKEYS
)
return
1
;
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
print_attribs
(
out
,
attrs
,
"Bag Attributes"
);
if
((
p8
=
PKCS12_decrypt_skey
(
bag
,
pass
,
passlen
))
==
NULL
)
return
0
;
if
((
pkey
=
EVP_PKCS82PKEY
(
p8
))
==
NULL
)
{
...
...
@@ -686,7 +694,7 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
return
1
;
}
else
if
(
options
&
CLCERTS
)
return
1
;
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
print_attribs
(
out
,
attrs
,
"Bag Attributes"
);
if
(
M_PKCS12_cert_bag_type
(
bag
)
!=
NID_x509Certificate
)
return
1
;
if
((
x509
=
PKCS12_certbag2x509
(
bag
))
==
NULL
)
...
...
@@ -699,13 +707,13 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
case
NID_safeContentsBag
:
if
(
options
&
INFO
)
BIO_printf
(
bio_err
,
"Safe Contents bag
\n
"
);
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
return
dump_certs_pkeys_bags
(
out
,
bag
->
value
.
safes
,
pass
,
passlen
,
options
,
pempass
,
enc
);
print_attribs
(
out
,
attrs
,
"Bag Attributes"
);
return
dump_certs_pkeys_bags
(
out
,
PKCS12_SAFEBAG_get0_safes
(
bag
)
,
pass
,
pass
len
,
options
,
pempass
,
enc
);
default:
BIO_printf
(
bio_err
,
"Warning unsupported bag type: "
);
i2a_ASN1_OBJECT
(
bio_err
,
bag
->
type
);
i2a_ASN1_OBJECT
(
bio_err
,
PKCS12_SAFEBAG_get0_type
(
bag
)
);
BIO_printf
(
bio_err
,
"
\n
"
);
return
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录