Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
1387a2ec
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看板
提交
1387a2ec
编写于
9月 27, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pkcs12 accessors
Reviewed-by:
N
Rich Salz
<
rsalz@openssl.org
>
上级
03922a63
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
48 addition
and
0 deletion
+48
-0
crypto/pkcs12/p12_attr.c
crypto/pkcs12/p12_attr.c
+5
-0
crypto/pkcs12/p12_utl.c
crypto/pkcs12/p12_utl.c
+37
-0
include/openssl/pkcs12.h
include/openssl/pkcs12.h
+6
-0
未找到文件。
crypto/pkcs12/p12_attr.c
浏览文件 @
1387a2ec
...
@@ -137,3 +137,8 @@ char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
...
@@ -137,3 +137,8 @@ char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
return
OPENSSL_uni2asc
(
atype
->
value
.
bmpstring
->
data
,
return
OPENSSL_uni2asc
(
atype
->
value
.
bmpstring
->
data
,
atype
->
value
.
bmpstring
->
length
);
atype
->
value
.
bmpstring
->
length
);
}
}
STACK_OF
(
X509_ATTRIBUTE
)
*
PKCS12_SAFEBAG_get0_attrs
(
PKCS12_SAFEBAG
*
bag
)
{
return
bag
->
attrib
;
}
crypto/pkcs12/p12_utl.c
浏览文件 @
1387a2ec
...
@@ -177,6 +177,31 @@ int PKCS12_mac_present(PKCS12 *p12)
...
@@ -177,6 +177,31 @@ int PKCS12_mac_present(PKCS12 *p12)
return
p12
->
mac
?
1
:
0
;
return
p12
->
mac
?
1
:
0
;
}
}
void
PKCS12_get0_mac
(
ASN1_OCTET_STRING
**
pmac
,
X509_ALGOR
**
pmacalg
,
ASN1_OCTET_STRING
**
psalt
,
ASN1_INTEGER
**
piter
,
PKCS12
*
p12
)
{
if
(
p12
->
mac
)
{
if
(
pmac
)
*
pmac
=
p12
->
mac
->
dinfo
->
digest
;
if
(
pmacalg
)
*
pmacalg
=
p12
->
mac
->
dinfo
->
algor
;
if
(
psalt
)
*
psalt
=
p12
->
mac
->
salt
;
if
(
piter
)
*
piter
=
p12
->
mac
->
iter
;
}
else
{
if
(
pmac
)
*
pmac
=
NULL
;
if
(
pmacalg
)
*
pmacalg
=
NULL
;
if
(
psalt
)
*
psalt
=
NULL
;
if
(
piter
)
*
piter
=
NULL
;
}
}
int
PKCS12_bag_type
(
PKCS12_SAFEBAG
*
bag
)
int
PKCS12_bag_type
(
PKCS12_SAFEBAG
*
bag
)
{
{
return
OBJ_obj2nid
(
bag
->
type
);
return
OBJ_obj2nid
(
bag
->
type
);
...
@@ -196,9 +221,21 @@ PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(PKCS12_SAFEBAG *bag)
...
@@ -196,9 +221,21 @@ PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(PKCS12_SAFEBAG *bag)
return
bag
->
value
.
keybag
;
return
bag
->
value
.
keybag
;
}
}
X509_SIG
*
PKCS12_SAFEBAG_get0_pkcs8
(
PKCS12_SAFEBAG
*
bag
)
{
if
(
OBJ_obj2nid
(
bag
->
type
)
!=
NID_pkcs8ShroudedKeyBag
)
return
NULL
;
return
bag
->
value
.
shkeybag
;
}
STACK_OF
(
PKCS12_SAFEBAG
)
*
PKCS12_SAFEBAG_get0_safes
(
PKCS12_SAFEBAG
*
bag
)
STACK_OF
(
PKCS12_SAFEBAG
)
*
PKCS12_SAFEBAG_get0_safes
(
PKCS12_SAFEBAG
*
bag
)
{
{
if
(
OBJ_obj2nid
(
bag
->
type
)
!=
NID_safeContentsBag
)
if
(
OBJ_obj2nid
(
bag
->
type
)
!=
NID_safeContentsBag
)
return
NULL
;
return
NULL
;
return
bag
->
value
.
safes
;
return
bag
->
value
.
safes
;
}
}
ASN1_OBJECT
*
PKCS12_SAFEBAG_get0_type
(
PKCS12_SAFEBAG
*
bag
)
{
return
bag
->
type
;
}
include/openssl/pkcs12.h
浏览文件 @
1387a2ec
...
@@ -134,10 +134,15 @@ typedef struct pkcs12_bag_st PKCS12_BAGS;
...
@@ -134,10 +134,15 @@ typedef struct pkcs12_bag_st PKCS12_BAGS;
ASN1_TYPE
*
PKCS12_get_attr
(
PKCS12_SAFEBAG
*
bag
,
int
attr_nid
);
ASN1_TYPE
*
PKCS12_get_attr
(
PKCS12_SAFEBAG
*
bag
,
int
attr_nid
);
ASN1_TYPE
*
PKCS8_get_attr
(
PKCS8_PRIV_KEY_INFO
*
p8
,
int
attr_nid
);
ASN1_TYPE
*
PKCS8_get_attr
(
PKCS8_PRIV_KEY_INFO
*
p8
,
int
attr_nid
);
int
PKCS12_mac_present
(
PKCS12
*
p12
);
int
PKCS12_mac_present
(
PKCS12
*
p12
);
void
PKCS12_get0_mac
(
ASN1_OCTET_STRING
**
pmac
,
X509_ALGOR
**
pmacalg
,
ASN1_OCTET_STRING
**
psalt
,
ASN1_INTEGER
**
piter
,
PKCS12
*
p12
);
int
PKCS12_bag_type
(
PKCS12_SAFEBAG
*
bag
);
int
PKCS12_bag_type
(
PKCS12_SAFEBAG
*
bag
);
int
PKCS12_cert_bag_type
(
PKCS12_SAFEBAG
*
bag
);
int
PKCS12_cert_bag_type
(
PKCS12_SAFEBAG
*
bag
);
PKCS8_PRIV_KEY_INFO
*
PKCS12_SAFEBAG_get0_p8inf
(
PKCS12_SAFEBAG
*
bag
);
PKCS8_PRIV_KEY_INFO
*
PKCS12_SAFEBAG_get0_p8inf
(
PKCS12_SAFEBAG
*
bag
);
X509_SIG
*
PKCS12_SAFEBAG_get0_pkcs8
(
PKCS12_SAFEBAG
*
bag
);
STACK_OF
(
PKCS12_SAFEBAG
)
*
PKCS12_SAFEBAG_get0_safes
(
PKCS12_SAFEBAG
*
bag
);
STACK_OF
(
PKCS12_SAFEBAG
)
*
PKCS12_SAFEBAG_get0_safes
(
PKCS12_SAFEBAG
*
bag
);
ASN1_OBJECT
*
PKCS12_SAFEBAG_get0_type
(
PKCS12_SAFEBAG
*
bag
);
PKCS12_SAFEBAG
*
PKCS12_x5092certbag
(
X509
*
x509
);
PKCS12_SAFEBAG
*
PKCS12_x5092certbag
(
X509
*
x509
);
PKCS12_SAFEBAG
*
PKCS12_x509crl2certbag
(
X509_CRL
*
crl
);
PKCS12_SAFEBAG
*
PKCS12_x509crl2certbag
(
X509_CRL
*
crl
);
...
@@ -182,6 +187,7 @@ int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag,
...
@@ -182,6 +187,7 @@ int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag,
int
PKCS8_add_keyusage
(
PKCS8_PRIV_KEY_INFO
*
p8
,
int
usage
);
int
PKCS8_add_keyusage
(
PKCS8_PRIV_KEY_INFO
*
p8
,
int
usage
);
ASN1_TYPE
*
PKCS12_get_attr_gen
(
STACK_OF
(
X509_ATTRIBUTE
)
*
attrs
,
int
attr_nid
);
ASN1_TYPE
*
PKCS12_get_attr_gen
(
STACK_OF
(
X509_ATTRIBUTE
)
*
attrs
,
int
attr_nid
);
char
*
PKCS12_get_friendlyname
(
PKCS12_SAFEBAG
*
bag
);
char
*
PKCS12_get_friendlyname
(
PKCS12_SAFEBAG
*
bag
);
STACK_OF
(
X509_ATTRIBUTE
)
*
PKCS12_SAFEBAG_get0_attrs
(
PKCS12_SAFEBAG
*
bag
);
unsigned
char
*
PKCS12_pbe_crypt
(
X509_ALGOR
*
algor
,
const
char
*
pass
,
unsigned
char
*
PKCS12_pbe_crypt
(
X509_ALGOR
*
algor
,
const
char
*
pass
,
int
passlen
,
unsigned
char
*
in
,
int
inlen
,
int
passlen
,
unsigned
char
*
in
,
int
inlen
,
unsigned
char
**
data
,
int
*
datalen
,
unsigned
char
**
data
,
int
*
datalen
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录