Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
e84240d4
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
8 个月 前同步成功
通知
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 搜索 >>
提交
e84240d4
编写于
5月 19, 1999
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New functions sk_set, sk_value and sk_num to replace existing macros: this is
to minimise the effects on existing code.
上级
054810ec
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
61 addition
and
18 deletion
+61
-18
CHANGES
CHANGES
+12
-0
apps/pkcs12.c
apps/pkcs12.c
+3
-3
crypto/ex_data.c
crypto/ex_data.c
+2
-2
crypto/objects/o_names.c
crypto/objects/o_names.c
+3
-3
crypto/pkcs12/p12_crt.c
crypto/pkcs12/p12_crt.c
+1
-1
crypto/pkcs12/pkcs12.h
crypto/pkcs12/pkcs12.h
+5
-0
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pk7_doit.c
+5
-5
crypto/stack/safestack.h
crypto/stack/safestack.h
+2
-2
crypto/stack/stack.c
crypto/stack/stack.c
+17
-0
crypto/stack/stack.h
crypto/stack/stack.h
+8
-2
util/libeay.num
util/libeay.num
+3
-0
未找到文件。
CHANGES
浏览文件 @
e84240d4
...
...
@@ -10,6 +10,18 @@
[23-Dec-1998] down below; but in later
versions, these hyphens are gone.]
*) New functions sk_num, sk_value and sk_set to replace the previous macros.
These are required because of the typesafe stack would otherwise break
existing code. If old code used a structure member which used to be STACK
and is now STACK_OF (for example cert in a PKCS7_SIGNED structure) with
sk_num or sk_value it would produce an error because the num, data members
are not present in STACK_OF. Now it just produces a warning. sk_set
replaces the old method of assigning a value to sk_value
(e.g. sk_value(x, i) = y) which the library used in a few cases. Any code
that does this will no longer work (and should use sk_set instead) but
this could be regarded as a "questionable" behaviour anyway.
[Steve Henson]
*) Fix most of the other PKCS#7 bugs. The "experimental" code can now
correctly handle encrypted S/MIME data.
[Steve Henson]
...
...
apps/pkcs12.c
浏览文件 @
e84240d4
...
...
@@ -69,7 +69,6 @@
EVP_CIPHER
*
enc
;
#define _ITER_ 2048
#define NOKEYS 0x1
#define NOCERTS 0x2
...
...
@@ -99,7 +98,7 @@ int MAIN(int argc, char **argv)
int
options
=
0
;
int
chain
=
0
;
int
badarg
=
0
;
int
iter
=
_ITER_
;
int
iter
=
PKCS12_DEFAULT_ITER
;
int
maciter
=
1
;
int
twopass
=
0
;
int
keytype
=
0
;
...
...
@@ -140,7 +139,8 @@ int MAIN(int argc, char **argv)
#endif
else
if
(
!
strcmp
(
*
args
,
"-des3"
))
enc
=
EVP_des_ede3_cbc
();
else
if
(
!
strcmp
(
*
args
,
"-noiter"
))
iter
=
1
;
else
if
(
!
strcmp
(
*
args
,
"-maciter"
))
maciter
=
_ITER_
;
else
if
(
!
strcmp
(
*
args
,
"-maciter"
))
maciter
=
PKCS12_DEFAULT_ITER
;
else
if
(
!
strcmp
(
*
args
,
"-nodes"
))
enc
=
NULL
;
else
if
(
!
strcmp
(
*
args
,
"-inkey"
))
{
if
(
args
[
1
])
{
...
...
crypto/ex_data.c
浏览文件 @
e84240d4
...
...
@@ -97,7 +97,7 @@ int CRYPTO_get_ex_new_index(int idx, STACK **skp, long argl, char *argp,
goto
err
;
}
}
sk_
value
(
*
skp
,
idx
)
=
(
char
*
)
a
;
sk_
set
(
*
skp
,
idx
,
(
char
*
)
a
)
;
ret
=
idx
;
err:
MemCheck_on
();
...
...
@@ -127,7 +127,7 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, char *val)
}
i
++
;
}
sk_
value
(
ad
->
sk
,
idx
)
=
val
;
sk_
set
(
ad
->
sk
,
idx
,
val
)
;
return
(
1
);
}
...
...
crypto/objects/o_names.c
浏览文件 @
e84240d4
...
...
@@ -56,11 +56,11 @@ int OBJ_NAME_new_index(unsigned long (*hash_func)(), int (*cmp_func)(),
MemCheck_on
();
}
if
(
hash_func
!=
NULL
)
sk_
value
(
names_hash
,
ret
)
=
(
char
*
)
hash_func
;
sk_
set
(
names_hash
,
ret
,(
char
*
)
hash_func
)
;
if
(
cmp_func
!=
NULL
)
sk_
value
(
names_cmp
,
ret
)
=
(
char
*
)
cmp_func
;
sk_
set
(
names_cmp
,
ret
,(
char
*
)
cmp_func
)
;
if
(
free_func
!=
NULL
)
sk_
value
(
names_free
,
ret
)
=
(
char
*
)
free_func
;
sk_
set
(
names_free
,
ret
,(
char
*
)
free_func
)
;
return
(
ret
);
}
...
...
crypto/pkcs12/p12_crt.c
浏览文件 @
e84240d4
...
...
@@ -77,7 +77,7 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
/* Set defaults */
if
(
!
nid_cert
)
nid_cert
=
NID_pbe_WithSHA1And40BitRC2_CBC
;
if
(
!
nid_key
)
nid_key
=
NID_pbe_WithSHA1And3_Key_TripleDES_CBC
;
if
(
!
iter
)
iter
=
2048
;
if
(
!
iter
)
iter
=
PKCS12_DEFAULT_ITER
;
if
(
!
mac_iter
)
mac_iter
=
1
;
if
(
!
pkey
||
!
cert
)
{
...
...
crypto/pkcs12/pkcs12.h
浏览文件 @
e84240d4
...
...
@@ -70,6 +70,11 @@ extern "C" {
#define PKCS12_IV_ID 2
#define PKCS12_MAC_ID 3
/* Default iteration count */
#ifndef PKCS12_DEFAULT_ITER
#define PKCS12_DEFAULT_ITER 2048
#endif
#define PKCS12_MAC_KEY_LENGTH 20
#define PKCS12_SALT_LEN 8
...
...
crypto/pkcs7/pk7_doit.c
浏览文件 @
e84240d4
...
...
@@ -823,8 +823,8 @@ int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, STACK *sk)
p7si
->
auth_attr
=
sk_dup
(
sk
);
for
(
i
=
0
;
i
<
sk_num
(
sk
);
i
++
)
{
if
((
sk_
value
(
p7si
->
auth_attr
,
i
)
=
(
char
*
)
X509_ATTRIBUTE_dup
(
(
X509_ATTRIBUTE
*
)
sk_value
(
sk
,
i
)))
==
NULL
)
if
((
sk_
set
(
p7si
->
auth_attr
,
i
,
(
char
*
)
X509_ATTRIBUTE_dup
(
(
X509_ATTRIBUTE
*
)
sk_value
(
sk
,
i
)))
)
==
NULL
)
return
(
0
);
}
return
(
1
);
...
...
@@ -839,8 +839,8 @@ int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK *sk)
p7si
->
unauth_attr
=
sk_dup
(
sk
);
for
(
i
=
0
;
i
<
sk_num
(
sk
);
i
++
)
{
if
((
sk_
value
(
p7si
->
unauth_attr
,
i
)
=
(
char
*
)
X509_ATTRIBUTE_dup
(
(
X509_ATTRIBUTE
*
)
sk_value
(
sk
,
i
)))
==
NULL
)
if
((
sk_
set
(
p7si
->
unauth_attr
,
i
,
(
char
*
)
X509_ATTRIBUTE_dup
(
(
X509_ATTRIBUTE
*
)
sk_value
(
sk
,
i
)))
)
==
NULL
)
return
(
0
);
}
return
(
1
);
...
...
@@ -880,7 +880,7 @@ new_attrib:
{
X509_ATTRIBUTE_free
(
attr
);
attr
=
X509_ATTRIBUTE_create
(
nid
,
atrtype
,
value
);
sk_
value
(
*
sk
,
i
)
=
(
char
*
)
attr
;
sk_
set
(
*
sk
,
i
,(
char
*
)
attr
)
;
goto
end
;
}
}
...
...
crypto/stack/safestack.h
浏览文件 @
e84240d4
...
...
@@ -92,11 +92,11 @@ STACK_OF(type) *sk_##type##_new_null() \
void sk_##type##_free(STACK_OF(type) *sk) \
{ sk_free((STACK *)sk); } \
int sk_##type##_num(const STACK_OF(type) *sk) \
{ return sk_num((const STACK *)sk); } \
{ return
M_
sk_num((const STACK *)sk); } \
type *sk_##type##_value(const STACK_OF(type) *sk,int n) \
{ return (type *)sk_value((STACK *)sk,n); } \
type *sk_##type##_set(STACK_OF(type) *sk,int n,type *v) \
{ return (type *)(sk_
value((STACK *)sk,n)=(char *)v
); } \
{ return (type *)(sk_
set((STACK *)sk,n,(char *)v)
); } \
void sk_##type##_zero(STACK_OF(type) *sk) \
{ sk_zero((STACK *)sk); } \
int sk_##type##_push(STACK_OF(type) *sk,type *v) \
...
...
crypto/stack/stack.c
浏览文件 @
e84240d4
...
...
@@ -284,3 +284,20 @@ void sk_free(STACK *st)
Free
((
char
*
)
st
);
}
int
sk_num
(
STACK
*
st
)
{
if
(
st
==
NULL
)
return
-
1
;
return
st
->
num
;
}
char
*
sk_value
(
STACK
*
st
,
int
i
)
{
if
(
st
==
NULL
)
return
NULL
;
return
st
->
data
[
i
];
}
char
*
sk_set
(
STACK
*
st
,
int
i
,
char
*
value
)
{
if
(
st
==
NULL
)
return
NULL
;
return
(
st
->
data
[
i
]
=
value
);
}
crypto/stack/stack.h
浏览文件 @
e84240d4
...
...
@@ -73,11 +73,17 @@ typedef struct stack_st
int
(
*
comp
)();
}
STACK
;
#define sk_num(sk) ((sk)->num)
#define sk_value(sk,n) ((sk)->data[n])
#define sk_new_null() sk_new(NULL)
#define M_sk_num(sk) ((sk)->num)
#define M_sk_value(sk,n) ((sk)->data[n])
int
sk_num
(
STACK
*
);
char
*
sk_value
(
STACK
*
,
int
);
char
*
sk_set
(
STACK
*
,
int
,
char
*
);
STACK
*
sk_new
(
int
(
*
cmp
)());
void
sk_free
(
STACK
*
);
void
sk_pop_free
(
STACK
*
st
,
void
(
*
func
)());
...
...
util/libeay.num
浏览文件 @
e84240d4
...
...
@@ -1625,3 +1625,6 @@ EVP_CIPHER_type 1649
EVP_PBE_CipherInit 1650
X509V3_add_value_bool_nf 1651
d2i_ASN1_UINTEGER 1652
sk_value 1653
sk_num 1654
sk_set 1655
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录