Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
0b33dac3
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看板
提交
0b33dac3
编写于
18年前
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New function to retrieve ASN1 info on public key algorithms. New command
line option to print out info.
上级
e2bce377
master
OpenHarmony-2.2-Beta2
OpenHarmony-2.3-Beta
OpenHarmony-3.0-LTS
OpenHarmony-3.1-API8-SDK-Public
OpenHarmony-3.1-API9-SDK-Canary
OpenHarmony-3.1-Beta
OpenHarmony-3.1-Release
OpenHarmony-3.2-Beta1
OpenHarmony-3.2-Beta2
OpenHarmony-3.2-Beta3
OpenHarmony-3.2-Beta4
OpenHarmony-3.2-Beta5
OpenHarmony-3.2-Release
OpenHarmony-4.0-Beta1
OpenHarmony-4.0-Beta2
OpenHarmony-v2.2-Beta
OpenHarmony_1.0.1_release
OpenHarmony_filemanager_develop_20220505
OpenHarmony_filemanager_develop_20220614
add_issus_pr_template_for_master
add_issus_pr_template_for_release
feature_IDL_20220811
master_dy
monthly_20220614
monthly_20220816
monthly_20221018
monthly_20230815
revert-merge-109-master
weekly_20220105
weekly_20220111
weekly_20220118
weekly_20220125
weekly_20220201
weekly_20220208
weekly_20220215
weekly_20220222
weekly_20220301
weekly_20220406
weekly_20220412
weekly_20220419
weekly_20220426
weekly_20220503
weekly_20220510
weekly_20220524
weekly_20220531
weekly_20220607
weekly_20220614
weekly_20220621
weekly_20220628
weekly_20220705
weekly_20220712
weekly_20220719
weekly_20220726
weekly_20220802
weekly_20220809
weekly_20220816
weekly_20220823
weekly_20220830
weekly_20220906
weekly_20220913
weekly_20220920
weekly_20220927
weekly_20221004
weekly_20221011
weekly_20221018
weekly_20221025
weekly_20221101
weekly_20221108
weekly_20221115
weekly_20221122
weekly_20221129
weekly_20221206
weekly_20221213
weekly_20221220
weekly_20221227
weekly_20230103
weekly_20230110
weekly_20230117
weekly_20230124
weekly_20230131
weekly_20230207
weekly_20230214
weekly_20230221
weekly_20230228
weekly_20230307
weekly_20230314
weekly_20230321
weekly_20230328
weekly_20230404
weekly_20230411
weekly_20230418
weekly_20230425
weekly_20230502
weekly_20230509
weekly_20230516
weekly_20230523
weekly_20230530
weekly_20230606
weekly_20230613
weekly_20230619
weekly_20230626
weekly_20230627
weekly_20230704
weekly_20230712
weekly_20230725
weekly_20230801
weekly_20230808
weekly_20230815
weekly_20230822
weekly_20230829
OpenHarmony_v1.1.1-LTS
OpenHarmony_release_v1.1.0
OpenHarmony-v4.0-Beta2
OpenHarmony-v4.0-Beta1
OpenHarmony-v3.2.2-Release
OpenHarmony-v3.2.1-Release
OpenHarmony-v3.2-Release
OpenHarmony-v3.2-Beta5
OpenHarmony-v3.2-Beta4
OpenHarmony-v3.2-Beta3
OpenHarmony-v3.2-Beta2
OpenHarmony-v3.2-Beta1
OpenHarmony-v3.1.7-Release
OpenHarmony-v3.1.6-Release
OpenHarmony-v3.1.5-Release
OpenHarmony-v3.1.4-Release
OpenHarmony-v3.1.3-Release
OpenHarmony-v3.1.2-Release
OpenHarmony-v3.1.1-Release
OpenHarmony-v3.1-Release
OpenHarmony-v3.1-Beta
OpenHarmony-v3.0.8-LTS
OpenHarmony-v3.0.7-LTS
OpenHarmony-v3.0.6-LTS
OpenHarmony-v3.0.5-LTS
OpenHarmony-v3.0.3-LTS
OpenHarmony-v3.0.2-LTS
OpenHarmony-v3.0.1-LTS
OpenHarmony-v3.0-LTS
OpenHarmony-v3.0-Beta1
OpenHarmony-v2.2-Beta2
OpenHarmony-v1.1.5-LTS
OpenHarmony-v1.1.4-LTS
OpenHarmony-v1.1.3-LTS
OpenHarmony-v1.1.2-LTS
OpenHarmony-v1.1.1-LTS
OpenHarmony-2.0-Canary
OpenHarmony-1.0
无相关合并请求
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
81 addition
and
9 deletion
+81
-9
CHANGES
CHANGES
+5
-0
apps/openssl.c
apps/openssl.c
+48
-5
apps/progs.h
apps/progs.h
+1
-0
apps/progs.pl
apps/progs.pl
+1
-0
crypto/asn1/ameth_lib.c
crypto/asn1/ameth_lib.c
+19
-0
crypto/asn1/asn1_locl.h
crypto/asn1/asn1_locl.h
+0
-3
crypto/dh/dh_ameth.c
crypto/dh/dh_ameth.c
+1
-1
crypto/evp/evp.h
crypto/evp/evp.h
+6
-0
未找到文件。
CHANGES
浏览文件 @
0b33dac3
...
...
@@ -4,6 +4,11 @@
Changes between 0.9.8a and 0.9.9 [xx XXX xxxx]
*) New function EVP_PKEY_asn1_get0_info() to retrieve information about
public key algorithms. New option to openssl utility:
"list-public-key-algorithms" to print out info.
[Steve Henson]
*) Implement the Supported Elliptic Curves Extension for
ECC ciphersuites from draft-ietf-tls-ecc-12.txt.
[Douglas Stebila]
...
...
This diff is collapsed.
Click to expand it.
apps/openssl.c
浏览文件 @
0b33dac3
...
...
@@ -141,6 +141,7 @@ static unsigned long MS_CALLBACK hash(const void *a_void);
static
int
MS_CALLBACK
cmp
(
const
void
*
a_void
,
const
void
*
b_void
);
static
LHASH
*
prog_init
(
void
);
static
int
do_cmd
(
LHASH
*
prog
,
int
argc
,
char
*
argv
[]);
static
void
list_pkey
(
BIO
*
out
);
char
*
default_config_file
=
NULL
;
/* Make sure there is only one when MONOLITH is defined */
...
...
@@ -367,6 +368,7 @@ end:
#define LIST_STANDARD_COMMANDS "list-standard-commands"
#define LIST_MESSAGE_DIGEST_COMMANDS "list-message-digest-commands"
#define LIST_CIPHER_COMMANDS "list-cipher-commands"
#define LIST_PUBLIC_KEY_ALGORITHMS "list-public-key-algorithms"
static
int
do_cmd
(
LHASH
*
prog
,
int
argc
,
char
*
argv
[])
{
...
...
@@ -409,7 +411,8 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
}
else
if
((
strcmp
(
argv
[
0
],
LIST_STANDARD_COMMANDS
)
==
0
)
||
(
strcmp
(
argv
[
0
],
LIST_MESSAGE_DIGEST_COMMANDS
)
==
0
)
||
(
strcmp
(
argv
[
0
],
LIST_CIPHER_COMMANDS
)
==
0
))
(
strcmp
(
argv
[
0
],
LIST_CIPHER_COMMANDS
)
==
0
)
||
(
strcmp
(
argv
[
0
],
LIST_PUBLIC_KEY_ALGORITHMS
)
==
0
))
{
int
list_type
;
BIO
*
bio_stdout
;
...
...
@@ -418,6 +421,8 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
list_type
=
FUNC_TYPE_GENERAL
;
else
if
(
strcmp
(
argv
[
0
],
LIST_MESSAGE_DIGEST_COMMANDS
)
==
0
)
list_type
=
FUNC_TYPE_MD
;
else
if
(
strcmp
(
argv
[
0
],
LIST_PUBLIC_KEY_ALGORITHMS
)
==
0
)
list_type
=
FUNC_TYPE_PKEY
;
else
/* strcmp(argv[0],LIST_CIPHER_COMMANDS) == 0 */
list_type
=
FUNC_TYPE_CIPHER
;
bio_stdout
=
BIO_new_fp
(
stdout
,
BIO_NOCLOSE
);
...
...
@@ -427,10 +432,15 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
bio_stdout
=
BIO_push
(
tmpbio
,
bio_stdout
);
}
#endif
for
(
fp
=
functions
;
fp
->
name
!=
NULL
;
fp
++
)
if
(
fp
->
type
==
list_type
)
BIO_printf
(
bio_stdout
,
"%s
\n
"
,
fp
->
name
);
if
(
list_type
==
FUNC_TYPE_PKEY
)
list_pkey
(
bio_stdout
);
else
{
for
(
fp
=
functions
;
fp
->
name
!=
NULL
;
fp
++
)
if
(
fp
->
type
==
list_type
)
BIO_printf
(
bio_stdout
,
"%s
\n
"
,
fp
->
name
);
}
BIO_free_all
(
bio_stdout
);
ret
=
0
;
goto
end
;
...
...
@@ -485,6 +495,39 @@ static int SortFnByName(const void *_f1,const void *_f2)
return
strcmp
(
f1
->
name
,
f2
->
name
);
}
static
void
list_pkey
(
BIO
*
out
)
{
int
i
;
for
(
i
=
0
;
i
<
EVP_PKEY_asn1_get_count
();
i
++
)
{
const
EVP_PKEY_ASN1_METHOD
*
ameth
;
int
pkey_id
,
pkey_base_id
,
pkey_flags
;
const
char
*
pinfo
,
*
pem_str
;
ameth
=
EVP_PKEY_asn1_get0
(
i
);
EVP_PKEY_asn1_get0_info
(
&
pkey_id
,
&
pkey_base_id
,
&
pkey_flags
,
&
pinfo
,
&
pem_str
,
ameth
);
if
(
pkey_flags
&
ASN1_PKEY_ALIAS
)
{
BIO_printf
(
out
,
"Name: %s
\n
"
,
OBJ_nid2ln
(
pkey_id
));
BIO_printf
(
out
,
"
\t
Type: Alias to %s
\n
"
,
OBJ_nid2ln
(
pkey_base_id
));
}
else
{
BIO_printf
(
out
,
"Name: %s
\n
"
,
pinfo
);
BIO_printf
(
out
,
"
\t
Type: %s Algorithm
\n
"
,
pkey_flags
&
ASN1_PKEY_DYNAMIC
?
"External"
:
"Builtin"
);
BIO_printf
(
out
,
"
\t
OID: %s
\n
"
,
OBJ_nid2ln
(
pkey_id
));
if
(
pem_str
==
NULL
)
pem_str
=
"(none)"
;
BIO_printf
(
out
,
"
\t
PEM string: %s
\n
"
,
pem_str
);
}
}
}
static
LHASH
*
prog_init
(
void
)
{
LHASH
*
ret
;
...
...
This diff is collapsed.
Click to expand it.
apps/progs.h
浏览文件 @
0b33dac3
...
...
@@ -47,6 +47,7 @@ extern int ts_main(int argc,char *argv[]);
#define FUNC_TYPE_GENERAL 1
#define FUNC_TYPE_MD 2
#define FUNC_TYPE_CIPHER 3
#define FUNC_TYPE_PKEY 4
typedef
struct
{
int
type
;
...
...
This diff is collapsed.
Click to expand it.
apps/progs.pl
浏览文件 @
0b33dac3
...
...
@@ -13,6 +13,7 @@ print <<'EOF';
#define FUNC_TYPE_GENERAL 1
#define FUNC_TYPE_MD 2
#define FUNC_TYPE_CIPHER 3
#define FUNC_TYPE_PKEY 4
typedef struct {
int type;
...
...
This diff is collapsed.
Click to expand it.
crypto/asn1/ameth_lib.c
浏览文件 @
0b33dac3
...
...
@@ -186,6 +186,25 @@ int EVP_PKEY_asn1_add(const EVP_PKEY_ASN1_METHOD *ameth)
return
1
;
}
int
EVP_PKEY_asn1_get0_info
(
int
*
ppkey_id
,
int
*
ppkey_base_id
,
int
*
ppkey_flags
,
const
char
**
pinfo
,
const
char
**
ppem_str
,
const
EVP_PKEY_ASN1_METHOD
*
ameth
)
{
if
(
!
ameth
)
return
0
;
if
(
ppkey_id
)
*
ppkey_id
=
ameth
->
pkey_id
;
if
(
ppkey_base_id
)
*
ppkey_base_id
=
ameth
->
pkey_base_id
;
if
(
ppkey_flags
)
*
ppkey_flags
=
ameth
->
pkey_flags
;
if
(
pinfo
)
*
pinfo
=
ameth
->
info
;
if
(
ppem_str
)
*
ppem_str
=
ameth
->
pem_str
;
return
1
;
}
EVP_PKEY_ASN1_METHOD
*
EVP_PKEY_asn1_new
(
int
id
,
const
char
*
pem_str
,
const
char
*
info
)
{
...
...
This diff is collapsed.
Click to expand it.
crypto/asn1/asn1_locl.h
浏览文件 @
0b33dac3
...
...
@@ -71,9 +71,6 @@ struct asn1_pctx_st
/* ASN1 public key method structure */
#define ASN1_PKEY_ALIAS 0x1
#define ASN1_PKEY_DYNAMIC 0x2
struct
evp_pkey_asn1_method_st
{
int
pkey_id
;
...
...
This diff is collapsed.
Click to expand it.
crypto/dh/dh_ameth.c
浏览文件 @
0b33dac3
...
...
@@ -149,7 +149,7 @@ const EVP_PKEY_ASN1_METHOD dh_asn1_meth =
EVP_PKEY_DH
,
0
,
"
dh
"
,
"
DH
"
,
"OpenSSL PKCS#3 DH method"
,
0
,
...
...
This diff is collapsed.
Click to expand it.
crypto/evp/evp.h
浏览文件 @
0b33dac3
...
...
@@ -856,11 +856,17 @@ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
EVP_PBE_KEYGEN
*
keygen
);
void
EVP_PBE_cleanup
(
void
);
#define ASN1_PKEY_ALIAS 0x1
#define ASN1_PKEY_DYNAMIC 0x2
int
EVP_PKEY_asn1_get_count
(
void
);
const
EVP_PKEY_ASN1_METHOD
*
EVP_PKEY_asn1_get0
(
int
idx
);
const
EVP_PKEY_ASN1_METHOD
*
EVP_PKEY_asn1_find
(
int
type
);
const
EVP_PKEY_ASN1_METHOD
*
EVP_PKEY_asn1_find_str
(
const
char
*
str
,
int
len
);
int
EVP_PKEY_asn1_add
(
const
EVP_PKEY_ASN1_METHOD
*
ameth
);
int
EVP_PKEY_asn1_get0_info
(
int
*
ppkey_id
,
int
*
pkey_base_id
,
int
*
ppkey_flags
,
const
char
**
pinfo
,
const
char
**
ppem_str
,
const
EVP_PKEY_ASN1_METHOD
*
ameth
);
EVP_PKEY_ASN1_METHOD
*
EVP_PKEY_asn1_new
(
int
id
,
const
char
*
pem_str
,
const
char
*
info
);
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部