Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
6d3a1eac
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,发现更多精彩内容 >>
提交
6d3a1eac
编写于
5月 15, 2006
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add PRF preference ctrl to ciphers.
上级
b8f702a0
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
3 deletion
+26
-3
CHANGES
CHANGES
+3
-1
crypto/asn1/p5_pbev2.c
crypto/asn1/p5_pbev2.c
+17
-2
crypto/evp/e_rc2.c
crypto/evp/e_rc2.c
+5
-0
crypto/evp/evp.h
crypto/evp/evp.h
+1
-0
未找到文件。
CHANGES
浏览文件 @
6d3a1eac
...
...
@@ -6,7 +6,9 @@
*) Initial support for PKCS#5 v2.0 PRFs other than default SHA1 HMAC.
Reorganize PBE internals to lookup from a static table using NIDs,
add support for HMAC PBE OID translation.
add support for HMAC PBE OID translation. Add a EVP_CIPHER ctrl:
EVP_CTRL_PBE_PRF_NID this allows a cipher to specify an alternative
PRF which will be automatically used with PBES2.
[Steve Henson]
*) Replace the algorithm specific calls to generate keys in "req" with the
...
...
crypto/asn1/p5_pbev2.c
浏览文件 @
6d3a1eac
...
...
@@ -95,6 +95,7 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
PBE2PARAM
*
pbe2
=
NULL
;
ASN1_OCTET_STRING
*
osalt
=
NULL
;
ASN1_OBJECT
*
obj
;
int
prf_nid
;
alg_nid
=
EVP_CIPHER_type
(
cipher
);
if
(
alg_nid
==
NID_undef
)
{
...
...
@@ -119,7 +120,7 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
EVP_CIPHER_CTX_init
(
&
ctx
);
/* Dummy cipherinit to just setup the IV */
/* Dummy cipherinit to just setup the IV
, and PRF
*/
EVP_CipherInit_ex
(
&
ctx
,
cipher
,
NULL
,
NULL
,
iv
,
0
);
if
(
EVP_CIPHER_param_to_asn1
(
&
ctx
,
scheme
->
parameter
)
<
0
)
{
ASN1err
(
ASN1_F_PKCS5_PBE2_SET
,
...
...
@@ -127,6 +128,12 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
goto
err
;
}
/* An error is OK here: just means use default PRF */
if
(
EVP_CIPHER_CTX_ctrl
(
&
ctx
,
EVP_CTRL_PBE_PRF_NID
,
0
,
&
prf_nid
)
<=
0
)
{
ERR_clear_error
();
prf_nid
=
NID_hmacWithSHA1
;
}
EVP_CIPHER_CTX_cleanup
(
&
ctx
);
if
(
!
(
kdf
=
PBKDF2PARAM_new
()))
goto
merr
;
...
...
@@ -154,7 +161,15 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
EVP_CIPHER_key_length
(
cipher
)))
goto
merr
;
}
/* prf can stay NULL because we are using hmacWithSHA1 */
/* prf can stay NULL if we are using hmacWithSHA1 */
if
(
prf_nid
!=
NID_hmacWithSHA1
)
{
kdf
->
prf
=
X509_ALGOR_new
();
if
(
!
kdf
->
prf
)
goto
merr
;
X509_ALGOR_set0
(
kdf
->
prf
,
OBJ_nid2obj
(
prf_nid
),
V_ASN1_NULL
,
NULL
);
}
/* Now setup the PBE2PARAM keyfunc structure */
...
...
crypto/evp/e_rc2.c
浏览文件 @
6d3a1eac
...
...
@@ -223,6 +223,11 @@ static int rc2_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
return
1
;
}
return
0
;
#if PBE_PRF_TEST
case
EVP_CTRL_PBE_PRF_NID
:
*
(
int
*
)
ptr
=
NID_hmacWithMD5
;
return
1
;
#endif
default:
return
-
1
;
...
...
crypto/evp/evp.h
浏览文件 @
6d3a1eac
...
...
@@ -301,6 +301,7 @@ struct evp_cipher_st
#define EVP_CTRL_GET_RC5_ROUNDS 0x4
#define EVP_CTRL_SET_RC5_ROUNDS 0x5
#define EVP_CTRL_RAND_KEY 0x6
#define EVP_CTRL_PBE_PRF_NID 0x7
typedef
struct
evp_cipher_info_st
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录