Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
3d3701ea
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,发现更多精彩内容 >>
提交
3d3701ea
编写于
7月 31, 2015
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ccm8 support
Reviewed-by:
N
Tim Hudson
<
tjh@openssl.org
>
上级
e75c5a79
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
7 deletion
+26
-7
include/openssl/ssl.h
include/openssl/ssl.h
+1
-0
ssl/ssl_ciph.c
ssl/ssl_ciph.c
+17
-5
ssl/ssl_locl.h
ssl/ssl_locl.h
+3
-1
ssl/t1_enc.c
ssl/t1_enc.c
+5
-1
未找到文件。
include/openssl/ssl.h
浏览文件 @
3d3701ea
...
...
@@ -246,6 +246,7 @@ extern "C" {
# define SSL_TXT_AES "AES"
# define SSL_TXT_AES_GCM "AESGCM"
# define SSL_TXT_AES_CCM "AESCCM"
# define SSL_TXT_AES_CCM_8 "AESCCM8"
# define SSL_TXT_CAMELLIA128 "CAMELLIA128"
# define SSL_TXT_CAMELLIA256 "CAMELLIA256"
# define SSL_TXT_CAMELLIA "CAMELLIA"
...
...
ssl/ssl_ciph.c
浏览文件 @
3d3701ea
...
...
@@ -166,7 +166,9 @@
#define SSL_ENC_AES256GCM_IDX 13
#define SSL_ENC_AES128CCM_IDX 14
#define SSL_ENC_AES256CCM_IDX 15
#define SSL_ENC_NUM_IDX 16
#define SSL_ENC_AES128CCM8_IDX 16
#define SSL_ENC_AES256CCM8_IDX 17
#define SSL_ENC_NUM_IDX 18
/* NB: make sure indices in these tables match values above */
...
...
@@ -192,7 +194,9 @@ static const ssl_cipher_table ssl_cipher_table_cipher[SSL_ENC_NUM_IDX] = {
{
SSL_AES128GCM
,
NID_aes_128_gcm
},
/* SSL_ENC_AES128GCM_IDX 12 */
{
SSL_AES256GCM
,
NID_aes_256_gcm
},
/* SSL_ENC_AES256GCM_IDX 13 */
{
SSL_AES128CCM
,
NID_aes_128_ccm
},
/* SSL_ENC_AES128CCM_IDX 14 */
{
SSL_AES256CCM
,
NID_aes_256_ccm
}
/* SSL_ENC_AES256CCM_IDX 15 */
{
SSL_AES256CCM
,
NID_aes_256_ccm
},
/* SSL_ENC_AES256CCM_IDX 15 */
{
SSL_AES128CCM8
,
NID_aes_128_ccm
},
/* SSL_ENC_AES128CCM8_IDX 16 */
{
SSL_AES256CCM8
,
NID_aes_256_ccm
}
/* SSL_ENC_AES256CCM8_IDX 17 */
};
static
const
EVP_CIPHER
*
ssl_cipher_methods
[
SSL_ENC_NUM_IDX
]
=
{
...
...
@@ -359,14 +363,16 @@ static const SSL_CIPHER cipher_aliases[] = {
{
0
,
SSL_TXT_IDEA
,
0
,
0
,
0
,
SSL_IDEA
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_SEED
,
0
,
0
,
0
,
SSL_SEED
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_eNULL
,
0
,
0
,
0
,
SSL_eNULL
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES128
,
0
,
0
,
0
,
SSL_AES128
|
SSL_AES128GCM
|
SSL_AES128CCM
,
0
,
{
0
,
SSL_TXT_AES128
,
0
,
0
,
0
,
SSL_AES128
|
SSL_AES128GCM
|
SSL_AES128CCM
|
SSL_AES128CCM8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES256
,
0
,
0
,
0
,
SSL_AES256
|
SSL_AES256GCM
|
SSL_AES256CCM
,
0
,
{
0
,
SSL_TXT_AES256
,
0
,
0
,
0
,
SSL_AES256
|
SSL_AES256GCM
|
SSL_AES256CCM
|
SSL_AES256CCM8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES
,
0
,
0
,
0
,
SSL_AES
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES_GCM
,
0
,
0
,
0
,
SSL_AES128GCM
|
SSL_AES256GCM
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES_CCM
,
0
,
0
,
0
,
SSL_AES128CCM
|
SSL_AES256CCM
,
0
,
0
,
0
,
0
,
{
0
,
SSL_TXT_AES_CCM
,
0
,
0
,
0
,
SSL_AES128CCM
|
SSL_AES256CCM
|
SSL_AES128CCM8
|
SSL_AES256CCM8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_AES_CCM_8
,
0
,
0
,
0
,
SSL_AES128CCM8
|
SSL_AES256CCM8
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_CAMELLIA128
,
0
,
0
,
0
,
SSL_CAMELLIA128
,
0
,
0
,
0
,
0
,
0
,
0
},
{
0
,
SSL_TXT_CAMELLIA256
,
0
,
0
,
0
,
SSL_CAMELLIA256
,
0
,
0
,
0
,
0
,
0
,
0
},
...
...
@@ -1721,6 +1727,12 @@ char *SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len)
case
SSL_AES256CCM
:
enc
=
"AESCCM(256)"
;
break
;
case
SSL_AES128CCM8
:
enc
=
"AESCCM8(128)"
;
break
;
case
SSL_AES256CCM8
:
enc
=
"AESCCM8(256)"
;
break
;
case
SSL_CAMELLIA128
:
enc
=
"Camellia(128)"
;
break
;
...
...
ssl/ssl_locl.h
浏览文件 @
3d3701ea
...
...
@@ -361,8 +361,10 @@
# define SSL_AES256GCM 0x00002000L
# define SSL_AES128CCM 0x00004000L
# define SSL_AES256CCM 0x00008000L
# define SSL_AES128CCM8 0x00010000L
# define SSL_AES256CCM8 0x00020000L
# define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM|SSL_AES128CCM|SSL_AES256CCM)
# define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM|SSL_AES128CCM|SSL_AES256CCM
|SSL_AES128CCM8|SSL_AES256CCM8
)
# define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256)
/* Bits for algorithm_mac (symmetric authentication) */
...
...
ssl/t1_enc.c
浏览文件 @
3d3701ea
...
...
@@ -509,7 +509,11 @@ int tls1_change_cipher_state(SSL *s, int which)
goto
err2
;
}
}
else
if
(
EVP_CIPHER_mode
(
c
)
==
EVP_CIPH_CCM_MODE
)
{
int
taglen
=
16
;
int
taglen
;
if
(
s
->
s3
->
tmp
.
new_cipher
->
algorithm_enc
&
(
SSL_AES128CCM8
|
SSL_AES256CCM8
))
taglen
=
8
;
else
taglen
=
16
;
if
(
!
EVP_CipherInit_ex
(
dd
,
c
,
NULL
,
NULL
,
NULL
,
(
which
&
SSL3_CC_WRITE
))
||
!
EVP_CIPHER_CTX_ctrl
(
dd
,
EVP_CTRL_AEAD_SET_IVLEN
,
12
,
NULL
)
||
!
EVP_CIPHER_CTX_ctrl
(
dd
,
EVP_CTRL_AEAD_SET_TAG
,
taglen
,
NULL
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录