Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
2ca873e8
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
9 个月 前同步成功
通知
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,体验更适合开发者的 AI 搜索 >>
提交
2ca873e8
编写于
12月 07, 2011
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
transparently handle X9.42 DH parameters
上级
7a236261
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
72 addition
and
3 deletion
+72
-3
CHANGES
CHANGES
+5
-0
apps/dhparam.c
apps/dhparam.c
+6
-1
crypto/pem/pem.h
crypto/pem/pem.h
+2
-0
crypto/pem/pem_all.c
crypto/pem/pem_all.c
+1
-1
crypto/pem/pem_err.c
crypto/pem/pem_err.c
+3
-1
crypto/pem/pem_lib.c
crypto/pem/pem_lib.c
+3
-0
crypto/pem/pem_pkey.c
crypto/pem/pem_pkey.c
+52
-0
未找到文件。
CHANGES
浏览文件 @
2ca873e8
...
...
@@ -4,6 +4,11 @@
Changes between 1.0.1 and 1.1.0 [xx XXX xxxx]
*) Transparently support X9.42 DH parameters when calling
PEM_read_bio_DHparameters. This means existing applications can handle
the new parameter format automatically.
[Steve Henson]
*) Initial experimental support for X9.42 DH parameter format: mainly
to support use of 'q' parameter for RFC5114 parameters.
[Steve Henson]
...
...
apps/dhparam.c
浏览文件 @
2ca873e8
...
...
@@ -513,7 +513,12 @@ bad:
if
(
outformat
==
FORMAT_ASN1
)
i
=
i2d_DHparams_bio
(
out
,
dh
);
else
if
(
outformat
==
FORMAT_PEM
)
i
=
PEM_write_bio_DHparams
(
out
,
dh
);
{
if
(
dh
->
q
)
i
=
PEM_write_bio_DHxparams
(
out
,
dh
);
else
i
=
PEM_write_bio_DHparams
(
out
,
dh
);
}
else
{
BIO_printf
(
bio_err
,
"bad output format specified for outfile
\n
"
);
goto
end
;
...
...
crypto/pem/pem.h
浏览文件 @
2ca873e8
...
...
@@ -594,8 +594,10 @@ void ERR_load_PEM_strings(void);
#define PEM_F_PEM_PK8PKEY 119
#define PEM_F_PEM_READ 108
#define PEM_F_PEM_READ_BIO 109
#define PEM_F_PEM_READ_BIO_DHPARAMS 141
#define PEM_F_PEM_READ_BIO_PARAMETERS 140
#define PEM_F_PEM_READ_BIO_PRIVATEKEY 123
#define PEM_F_PEM_READ_DHPARAMS 142
#define PEM_F_PEM_READ_PRIVATEKEY 124
#define PEM_F_PEM_SEALFINAL 110
#define PEM_F_PEM_SEALINIT 111
...
...
crypto/pem/pem_all.c
浏览文件 @
2ca873e8
...
...
@@ -289,7 +289,7 @@ EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb,
#ifndef OPENSSL_NO_DH
IMPLEMENT_PEM_
rw
_const
(
DHparams
,
DH
,
PEM_STRING_DHPARAMS
,
DHparams
)
IMPLEMENT_PEM_
write
_const
(
DHparams
,
DH
,
PEM_STRING_DHPARAMS
,
DHparams
)
IMPLEMENT_PEM_write_const
(
DHxparams
,
DH
,
PEM_STRING_DHXPARAMS
,
DHxparams
)
#endif
...
...
crypto/pem/pem_err.c
浏览文件 @
2ca873e8
/* crypto/pem/pem_err.c */
/* ====================================================================
* Copyright (c) 1999-20
07
The OpenSSL Project. All rights reserved.
* Copyright (c) 1999-20
11
The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
...
...
@@ -98,8 +98,10 @@ static ERR_STRING_DATA PEM_str_functs[]=
{
ERR_FUNC
(
PEM_F_PEM_PK8PKEY
),
"PEM_PK8PKEY"
},
{
ERR_FUNC
(
PEM_F_PEM_READ
),
"PEM_read"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_BIO
),
"PEM_read_bio"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_BIO_DHPARAMS
),
"PEM_READ_BIO_DHPARAMS"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_BIO_PARAMETERS
),
"PEM_read_bio_Parameters"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_BIO_PRIVATEKEY
),
"PEM_READ_BIO_PRIVATEKEY"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_DHPARAMS
),
"PEM_READ_DHPARAMS"
},
{
ERR_FUNC
(
PEM_F_PEM_READ_PRIVATEKEY
),
"PEM_READ_PRIVATEKEY"
},
{
ERR_FUNC
(
PEM_F_PEM_SEALFINAL
),
"PEM_SealFinal"
},
{
ERR_FUNC
(
PEM_F_PEM_SEALINIT
),
"PEM_SealInit"
},
...
...
crypto/pem/pem_lib.c
浏览文件 @
2ca873e8
...
...
@@ -236,6 +236,9 @@ static int check_pem(const char *nm, const char *name)
}
return
0
;
}
/* If reading DH parameters handle X9.42 DH format too */
if
(
!
strcmp
(
nm
,
PEM_STRING_DHXPARAMS
)
&&
!
strcmp
(
name
,
PEM_STRING_DHPARAMS
))
return
1
;
/* Permit older strings */
...
...
crypto/pem/pem_pkey.c
浏览文件 @
2ca873e8
...
...
@@ -68,6 +68,9 @@
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
#ifndef OPENSSL_NO_DH
#include <openssl/dh.h>
#endif
#include "asn1_locl.h"
int
pem_check_suffix
(
const
char
*
pem_str
,
const
char
*
suffix
);
...
...
@@ -240,3 +243,52 @@ int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
}
#endif
#ifndef OPENSSL_NO_DH
/* Transparently read in PKCS#3 or X9.42 DH parameters */
DH
*
PEM_read_bio_DHparams
(
BIO
*
bp
,
DH
**
x
,
pem_password_cb
*
cb
,
void
*
u
)
{
char
*
nm
=
NULL
;
const
unsigned
char
*
p
=
NULL
;
unsigned
char
*
data
=
NULL
;
long
len
;
DH
*
ret
=
NULL
;
if
(
!
PEM_bytes_read_bio
(
&
data
,
&
len
,
&
nm
,
PEM_STRING_DHPARAMS
,
bp
,
cb
,
u
))
return
NULL
;
p
=
data
;
if
(
!
strcmp
(
nm
,
PEM_STRING_DHXPARAMS
))
ret
=
d2i_DHxparams
(
x
,
&
p
,
len
);
else
ret
=
d2i_DHparams
(
x
,
&
p
,
len
);
if
(
ret
==
NULL
)
PEMerr
(
PEM_F_PEM_READ_BIO_DHPARAMS
,
ERR_R_ASN1_LIB
);
OPENSSL_free
(
nm
);
OPENSSL_free
(
data
);
return
ret
;
}
#ifndef OPENSSL_NO_FP_API
DH
*
PEM_read_DHparams
(
FILE
*
fp
,
DH
**
x
,
pem_password_cb
*
cb
,
void
*
u
)
{
BIO
*
b
;
DH
*
ret
;
if
((
b
=
BIO_new
(
BIO_s_file
()))
==
NULL
)
{
PEMerr
(
PEM_F_PEM_READ_DHPARAMS
,
ERR_R_BUF_LIB
);
return
(
0
);
}
BIO_set_fp
(
b
,
fp
,
BIO_NOCLOSE
);
ret
=
PEM_read_bio_DHparams
(
b
,
x
,
cb
,
u
);
BIO_free
(
b
);
return
(
ret
);
}
#endif
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录