Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
14a948e6
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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,发现更多精彩内容 >>
提交
14a948e6
编写于
4月 30, 2005
作者:
R
Richard Levitte
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
All kinds of changes from branch OpenSSL_0_9_7-stable
上级
af2fcf3a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
46 addition
and
7 deletion
+46
-7
apps/enc.c
apps/enc.c
+46
-7
未找到文件。
apps/enc.c
浏览文件 @
14a948e6
...
@@ -114,9 +114,11 @@ int MAIN(int argc, char **argv)
...
@@ -114,9 +114,11 @@ int MAIN(int argc, char **argv)
unsigned
char
salt
[
PKCS5_SALT_LEN
];
unsigned
char
salt
[
PKCS5_SALT_LEN
];
char
*
str
=
NULL
,
*
passarg
=
NULL
,
*
pass
=
NULL
;
char
*
str
=
NULL
,
*
passarg
=
NULL
,
*
pass
=
NULL
;
char
*
hkey
=
NULL
,
*
hiv
=
NULL
,
*
hsalt
=
NULL
;
char
*
hkey
=
NULL
,
*
hiv
=
NULL
,
*
hsalt
=
NULL
;
char
*
md
=
NULL
;
int
enc
=
1
,
printkey
=
0
,
i
,
base64
=
0
;
int
enc
=
1
,
printkey
=
0
,
i
,
base64
=
0
;
int
debug
=
0
,
olb64
=
0
,
nosalt
=
0
;
int
debug
=
0
,
olb64
=
0
,
nosalt
=
0
;
const
EVP_CIPHER
*
cipher
=
NULL
,
*
c
;
const
EVP_CIPHER
*
cipher
=
NULL
,
*
c
;
EVP_CIPHER_CTX
*
ctx
=
NULL
;
char
*
inf
=
NULL
,
*
outf
=
NULL
;
char
*
inf
=
NULL
,
*
outf
=
NULL
;
BIO
*
in
=
NULL
,
*
out
=
NULL
,
*
b64
=
NULL
,
*
benc
=
NULL
,
*
rbio
=
NULL
,
*
wbio
=
NULL
;
BIO
*
in
=
NULL
,
*
out
=
NULL
,
*
b64
=
NULL
,
*
benc
=
NULL
,
*
rbio
=
NULL
,
*
wbio
=
NULL
;
#define PROG_NAME_SIZE 39
#define PROG_NAME_SIZE 39
...
@@ -124,6 +126,7 @@ int MAIN(int argc, char **argv)
...
@@ -124,6 +126,7 @@ int MAIN(int argc, char **argv)
#ifndef OPENSSL_NO_ENGINE
#ifndef OPENSSL_NO_ENGINE
char
*
engine
=
NULL
;
char
*
engine
=
NULL
;
#endif
#endif
const
EVP_MD
*
dgst
=
NULL
;
apps_startup
();
apps_startup
();
...
@@ -253,6 +256,11 @@ int MAIN(int argc, char **argv)
...
@@ -253,6 +256,11 @@ int MAIN(int argc, char **argv)
if
(
--
argc
<
1
)
goto
bad
;
if
(
--
argc
<
1
)
goto
bad
;
hiv
=
*
(
++
argv
);
hiv
=
*
(
++
argv
);
}
}
else
if
(
strcmp
(
*
argv
,
"-md"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
md
=
*
(
++
argv
);
}
else
if
((
argv
[
0
][
0
]
==
'-'
)
&&
else
if
((
argv
[
0
][
0
]
==
'-'
)
&&
((
c
=
EVP_get_cipherbyname
(
&
(
argv
[
0
][
1
])))
!=
NULL
))
((
c
=
EVP_get_cipherbyname
(
&
(
argv
[
0
][
1
])))
!=
NULL
))
{
{
...
@@ -271,8 +279,10 @@ bad:
...
@@ -271,8 +279,10 @@ bad:
BIO_printf
(
bio_err
,
"%-14s encrypt
\n
"
,
"-e"
);
BIO_printf
(
bio_err
,
"%-14s encrypt
\n
"
,
"-e"
);
BIO_printf
(
bio_err
,
"%-14s decrypt
\n
"
,
"-d"
);
BIO_printf
(
bio_err
,
"%-14s decrypt
\n
"
,
"-d"
);
BIO_printf
(
bio_err
,
"%-14s base64 encode/decode, depending on encryption flag
\n
"
,
"-a/-base64"
);
BIO_printf
(
bio_err
,
"%-14s base64 encode/decode, depending on encryption flag
\n
"
,
"-a/-base64"
);
BIO_printf
(
bio_err
,
"%-14s key is the next argument
\n
"
,
"-k"
);
BIO_printf
(
bio_err
,
"%-14s passphrase is the next argument
\n
"
,
"-k"
);
BIO_printf
(
bio_err
,
"%-14s key is the first line of the file argument
\n
"
,
"-kfile"
);
BIO_printf
(
bio_err
,
"%-14s passphrase is the first line of the file argument
\n
"
,
"-kfile"
);
BIO_printf
(
bio_err
,
"%-14s the next argument is the md to use to create a key
\n
"
,
"-md"
);
BIO_printf
(
bio_err
,
"%-14s from a passphrase. One of md2, md5, sha or sha1
\n
"
,
""
);
BIO_printf
(
bio_err
,
"%-14s key/iv in hex is the next argument
\n
"
,
"-K/-iv"
);
BIO_printf
(
bio_err
,
"%-14s key/iv in hex is the next argument
\n
"
,
"-K/-iv"
);
BIO_printf
(
bio_err
,
"%-14s print the iv/key (then exit if -P)
\n
"
,
"-[pP]"
);
BIO_printf
(
bio_err
,
"%-14s print the iv/key (then exit if -P)
\n
"
,
"-[pP]"
);
BIO_printf
(
bio_err
,
"%-14s buffer size
\n
"
,
"-bufsize <n>"
);
BIO_printf
(
bio_err
,
"%-14s buffer size
\n
"
,
"-bufsize <n>"
);
...
@@ -296,6 +306,17 @@ bad:
...
@@ -296,6 +306,17 @@ bad:
e
=
setup_engine
(
bio_err
,
engine
,
0
);
e
=
setup_engine
(
bio_err
,
engine
,
0
);
#endif
#endif
if
(
md
&&
(
dgst
=
EVP_get_digestbyname
(
md
))
==
NULL
)
{
BIO_printf
(
bio_err
,
"%s is an unsupported message digest type
\n
"
,
md
);
goto
end
;
}
if
(
dgst
==
NULL
)
{
dgst
=
EVP_md5
();
}
if
(
bufsize
!=
NULL
)
if
(
bufsize
!=
NULL
)
{
{
unsigned
long
n
;
unsigned
long
n
;
...
@@ -483,7 +504,7 @@ bad:
...
@@ -483,7 +504,7 @@ bad:
sptr
=
salt
;
sptr
=
salt
;
}
}
EVP_BytesToKey
(
cipher
,
EVP_md5
()
,
sptr
,
EVP_BytesToKey
(
cipher
,
dgst
,
sptr
,
(
unsigned
char
*
)
str
,
(
unsigned
char
*
)
str
,
strlen
(
str
),
1
,
key
,
iv
);
strlen
(
str
),
1
,
key
,
iv
);
/* zero the complete buffer or the string
/* zero the complete buffer or the string
...
@@ -516,13 +537,31 @@ bad:
...
@@ -516,13 +537,31 @@ bad:
if
((
benc
=
BIO_new
(
BIO_f_cipher
()))
==
NULL
)
if
((
benc
=
BIO_new
(
BIO_f_cipher
()))
==
NULL
)
goto
end
;
goto
end
;
BIO_set_cipher
(
benc
,
cipher
,
key
,
iv
,
enc
);
if
(
nopad
)
/* Since we may be changing parameters work on the encryption
{
* context rather than calling BIO_set_cipher().
EVP_CIPHER_CTX
*
ctx
;
*/
BIO_get_cipher_ctx
(
benc
,
&
ctx
);
BIO_get_cipher_ctx
(
benc
,
&
ctx
);
if
(
!
EVP_CipherInit_ex
(
ctx
,
cipher
,
NULL
,
NULL
,
NULL
,
enc
))
{
BIO_printf
(
bio_err
,
"Error setting cipher %s
\n
"
,
EVP_CIPHER_name
(
cipher
));
ERR_print_errors
(
bio_err
);
goto
end
;
}
if
(
nopad
)
EVP_CIPHER_CTX_set_padding
(
ctx
,
0
);
EVP_CIPHER_CTX_set_padding
(
ctx
,
0
);
if
(
!
EVP_CipherInit_ex
(
ctx
,
NULL
,
NULL
,
key
,
iv
,
enc
))
{
BIO_printf
(
bio_err
,
"Error setting cipher %s
\n
"
,
EVP_CIPHER_name
(
cipher
));
ERR_print_errors
(
bio_err
);
goto
end
;
}
}
if
(
debug
)
if
(
debug
)
{
{
BIO_set_callback
(
benc
,
BIO_debug_callback
);
BIO_set_callback
(
benc
,
BIO_debug_callback
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录