Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
287d0b94
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
287d0b94
编写于
7月 08, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add ssl configuration support to s_server and s_client
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
f33bad33
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
2 deletion
+31
-2
apps/openssl.c
apps/openssl.c
+1
-0
apps/s_client.c
apps/s_client.c
+15
-1
apps/s_server.c
apps/s_server.c
+15
-1
未找到文件。
apps/openssl.c
浏览文件 @
287d0b94
...
...
@@ -176,6 +176,7 @@ static int apps_startup()
ERR_load_SSL_strings
();
OPENSSL_load_builtin_modules
();
SSL_add_ssl_module
();
#ifndef OPENSSL_NO_ENGINE
ENGINE_load_builtin_engines
();
#endif
...
...
apps/s_client.c
浏览文件 @
287d0b94
...
...
@@ -466,7 +466,7 @@ typedef enum OPTION_choice {
OPT_MSG
,
OPT_MSGFILE
,
OPT_ENGINE
,
OPT_TRACE
,
OPT_SECURITY_DEBUG
,
OPT_SECURITY_DEBUG_VERBOSE
,
OPT_SHOWCERTS
,
OPT_NBIO_TEST
,
OPT_STATE
,
OPT_PSK_IDENTITY
,
OPT_PSK
,
OPT_SRPUSER
,
OPT_SRPPASS
,
OPT_SRP_STRENGTH
,
OPT_SRP_LATEUSER
,
OPT_SRP_MOREGROUPS
,
OPT_SSL3
,
OPT_SRP_LATEUSER
,
OPT_SRP_MOREGROUPS
,
OPT_SSL3
,
OPT_SSL_CONFIG
,
OPT_TLS1_2
,
OPT_TLS1_1
,
OPT_TLS1
,
OPT_DTLS
,
OPT_DTLS1
,
OPT_DTLS1_2
,
OPT_TIMEOUT
,
OPT_MTU
,
OPT_KEYFORM
,
OPT_PASS
,
OPT_CERT_CHAIN
,
OPT_CAPATH
,
OPT_NOCAPATH
,
OPT_CHAINCAPATH
,
OPT_VERIFYCAPATH
,
...
...
@@ -561,6 +561,7 @@ OPTIONS s_client_options[] = {
{
"alpn"
,
OPT_ALPN
,
's'
,
"Enable ALPN extension, considering named protocols supported (comma-separated list)"
},
{
"async"
,
OPT_ASYNC
,
'-'
,
"Support asynchronous operation"
},
{
"ssl_config"
,
OPT_SSL_CONFIG
,
's'
},
OPT_S_OPTIONS
,
OPT_V_OPTIONS
,
OPT_X_OPTIONS
,
...
...
@@ -686,6 +687,7 @@ int s_client_main(int argc, char **argv)
char
*
servername
=
NULL
;
const
char
*
alpn_in
=
NULL
;
tlsextctx
tlsextcbp
=
{
NULL
,
0
};
const
char
*
ssl_config
=
NULL
;
#define MAX_SI_TYPES 100
unsigned
short
serverinfo_types
[
MAX_SI_TYPES
];
int
serverinfo_count
=
0
,
start
=
0
,
len
;
...
...
@@ -940,6 +942,9 @@ int s_client_main(int argc, char **argv)
case
OPT_SRP_MOREGROUPS
:
break
;
#endif
case
OPT_SSL_CONFIG
:
ssl_config
=
opt_arg
();
break
;
case
OPT_SSL3
:
#ifndef OPENSSL_NO_SSL3
meth
=
SSLv3_client_method
();
...
...
@@ -1200,6 +1205,15 @@ int s_client_main(int argc, char **argv)
if
(
sdebug
)
ssl_ctx_security_debug
(
ctx
,
sdebug
);
if
(
ssl_config
)
{
if
(
SSL_CTX_config
(
ctx
,
ssl_config
)
==
0
)
{
BIO_printf
(
bio_err
,
"Error using configuration
\"
%s
\"\n
"
,
ssl_config
);
ERR_print_errors
(
bio_err
);
goto
end
;
}
}
if
(
vpmtouched
&&
!
SSL_CTX_set1_param
(
ctx
,
vpm
))
{
BIO_printf
(
bio_err
,
"Error setting verify params
\n
"
);
ERR_print_errors
(
bio_err
);
...
...
apps/s_server.c
浏览文件 @
287d0b94
...
...
@@ -807,7 +807,7 @@ typedef enum OPTION_choice {
OPT_QUIET
,
OPT_BRIEF
,
OPT_NO_DHE
,
OPT_NO_RESUME_EPHEMERAL
,
OPT_PSK_HINT
,
OPT_PSK
,
OPT_SRPVFILE
,
OPT_SRPUSERSEED
,
OPT_REV
,
OPT_WWW
,
OPT_UPPER_WWW
,
OPT_HTTP
,
OPT_ASYNC
,
OPT_SSL3
,
OPT_SSL
_CONFIG
,
OPT_SSL
3
,
OPT_TLS1_2
,
OPT_TLS1_1
,
OPT_TLS1
,
OPT_DTLS
,
OPT_DTLS1
,
OPT_DTLS1_2
,
OPT_TIMEOUT
,
OPT_MTU
,
OPT_CHAIN
,
OPT_LISTEN
,
OPT_ID_PREFIX
,
OPT_RAND
,
OPT_SERVERNAME
,
OPT_SERVERNAME_FATAL
,
...
...
@@ -915,6 +915,7 @@ OPTIONS s_server_options[] = {
{
"brief"
,
OPT_BRIEF
,
'-'
},
{
"rev"
,
OPT_REV
,
'-'
},
{
"async"
,
OPT_ASYNC
,
'-'
,
"Operate in asynchronous mode"
},
{
"ssl_config"
,
OPT_SSL_CONFIG
,
's'
},
OPT_S_OPTIONS
,
OPT_V_OPTIONS
,
OPT_X_OPTIONS
,
...
...
@@ -1009,6 +1010,7 @@ int s_server_main(int argc, char *argv[])
EVP_PKEY
*
s_key2
=
NULL
;
X509
*
s_cert2
=
NULL
;
tlsextctx
tlsextcbp
=
{
NULL
,
NULL
,
SSL_TLSEXT_ERR_ALERT_WARNING
};
const
char
*
ssl_config
=
NULL
;
#ifndef OPENSSL_NO_NEXTPROTONEG
const
char
*
next_proto_neg_in
=
NULL
;
tlsextnextprotoctx
next_proto
=
{
NULL
,
0
};
...
...
@@ -1336,6 +1338,9 @@ int s_server_main(int argc, char *argv[])
case
OPT_HTTP
:
www
=
3
;
break
;
case
OPT_SSL_CONFIG
:
ssl_config
=
opt_arg
();
break
;
case
OPT_SSL3
:
#ifndef OPENSSL_NO_SSL3
meth
=
SSLv3_server_method
();
...
...
@@ -1613,6 +1618,15 @@ int s_server_main(int argc, char *argv[])
ERR_print_errors
(
bio_err
);
goto
end
;
}
if
(
ssl_config
)
{
if
(
SSL_CTX_config
(
ctx
,
ssl_config
)
==
0
)
{
BIO_printf
(
bio_err
,
"Error using configuration
\"
%s
\"\n
"
,
ssl_config
);
ERR_print_errors
(
bio_err
);
goto
end
;
}
}
if
(
session_id_prefix
)
{
if
(
strlen
(
session_id_prefix
)
>=
32
)
BIO_printf
(
bio_err
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录