Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
f07fb9b2
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
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看板
提交
f07fb9b2
编写于
2月 08, 2000
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add command line password options to the reamining utilities,
amend docs.
上级
1e8f28c4
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
211 addition
and
66 deletion
+211
-66
CHANGES
CHANGES
+3
-0
apps/dsa.c
apps/dsa.c
+2
-2
apps/gendsa.c
apps/gendsa.c
+18
-1
apps/genrsa.c
apps/genrsa.c
+28
-9
apps/pkcs12.c
apps/pkcs12.c
+59
-19
apps/pkcs8.c
apps/pkcs8.c
+14
-14
apps/rsa.c
apps/rsa.c
+2
-2
apps/spkac.c
apps/spkac.c
+20
-2
crypto/bn/bntest.c
crypto/bn/bntest.c
+3
-3
doc/apps/genrsa.pod
doc/apps/genrsa.pod
+19
-3
doc/apps/pkcs12.pod
doc/apps/pkcs12.pod
+30
-11
doc/apps/spkac.pod
doc/apps/spkac.pod
+13
-0
未找到文件。
CHANGES
浏览文件 @
f07fb9b2
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
*) Add command line password options to the remaining applications.
[Steve Henson]
*) Bug fix for BN_div_recp() for numerators with an even number of
*) Bug fix for BN_div_recp() for numerators with an even number of
bits.
bits.
[Ulf Möller]
[Ulf Möller]
...
...
apps/dsa.c
浏览文件 @
f07fb9b2
...
@@ -195,8 +195,8 @@ bad:
...
@@ -195,8 +195,8 @@ bad:
BIO_printf
(
bio_err
,
" -passin arg input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -passin arg input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -passout arg
in
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -passout arg
out
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassout arg environment variable containing
in
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassout arg environment variable containing
out
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -des encrypt PEM output with cbc des
\n
"
);
BIO_printf
(
bio_err
,
" -des encrypt PEM output with cbc des
\n
"
);
BIO_printf
(
bio_err
,
" -des3 encrypt PEM output with ede cbc des using 168 bit key
\n
"
);
BIO_printf
(
bio_err
,
" -des3 encrypt PEM output with ede cbc des using 168 bit key
\n
"
);
#ifndef NO_IDEA
#ifndef NO_IDEA
...
...
apps/gendsa.c
浏览文件 @
f07fb9b2
...
@@ -79,6 +79,7 @@ int MAIN(int argc, char **argv)
...
@@ -79,6 +79,7 @@ int MAIN(int argc, char **argv)
int
ret
=
1
;
int
ret
=
1
;
char
*
outfile
=
NULL
;
char
*
outfile
=
NULL
;
char
*
inrand
=
NULL
,
*
dsaparams
=
NULL
;
char
*
inrand
=
NULL
,
*
dsaparams
=
NULL
;
char
*
passout
=
NULL
;
BIO
*
out
=
NULL
,
*
in
=
NULL
;
BIO
*
out
=
NULL
,
*
in
=
NULL
;
EVP_CIPHER
*
enc
=
NULL
;
EVP_CIPHER
*
enc
=
NULL
;
...
@@ -98,6 +99,22 @@ int MAIN(int argc, char **argv)
...
@@ -98,6 +99,22 @@ int MAIN(int argc, char **argv)
if
(
--
argc
<
1
)
goto
bad
;
if
(
--
argc
<
1
)
goto
bad
;
outfile
=
*
(
++
argv
);
outfile
=
*
(
++
argv
);
}
}
else
if
(
strcmp
(
*
argv
,
"-envpassout"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
if
(
!
(
passout
=
getenv
(
*
(
++
argv
))))
{
BIO_printf
(
bio_err
,
"Can't read environment variable %s
\n
"
,
*
argv
);
goto
bad
;
}
}
else
if
(
strcmp
(
*
argv
,
"-passout"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
passout
=
*
(
++
argv
);
}
else
if
(
strcmp
(
*
argv
,
"-rand"
)
==
0
)
else
if
(
strcmp
(
*
argv
,
"-rand"
)
==
0
)
{
{
if
(
--
argc
<
1
)
goto
bad
;
if
(
--
argc
<
1
)
goto
bad
;
...
@@ -188,7 +205,7 @@ bad:
...
@@ -188,7 +205,7 @@ bad:
app_RAND_write_file
(
NULL
,
bio_err
);
app_RAND_write_file
(
NULL
,
bio_err
);
if
(
!
PEM_write_bio_DSAPrivateKey
(
out
,
dsa
,
enc
,
NULL
,
0
,
NULL
,
NULL
))
if
(
!
PEM_write_bio_DSAPrivateKey
(
out
,
dsa
,
enc
,
NULL
,
0
,
PEM_cb
,
passout
))
goto
end
;
goto
end
;
ret
=
0
;
ret
=
0
;
end:
end:
...
...
apps/genrsa.c
浏览文件 @
f07fb9b2
...
@@ -84,6 +84,7 @@ int MAIN(int argc, char **argv)
...
@@ -84,6 +84,7 @@ int MAIN(int argc, char **argv)
EVP_CIPHER
*
enc
=
NULL
;
EVP_CIPHER
*
enc
=
NULL
;
unsigned
long
f4
=
RSA_F4
;
unsigned
long
f4
=
RSA_F4
;
char
*
outfile
=
NULL
;
char
*
outfile
=
NULL
;
char
*
passout
=
NULL
;
char
*
inrand
=
NULL
;
char
*
inrand
=
NULL
;
BIO
*
out
=
NULL
;
BIO
*
out
=
NULL
;
...
@@ -127,6 +128,22 @@ int MAIN(int argc, char **argv)
...
@@ -127,6 +128,22 @@ int MAIN(int argc, char **argv)
else
if
(
strcmp
(
*
argv
,
"-idea"
)
==
0
)
else
if
(
strcmp
(
*
argv
,
"-idea"
)
==
0
)
enc
=
EVP_idea_cbc
();
enc
=
EVP_idea_cbc
();
#endif
#endif
else
if
(
strcmp
(
*
argv
,
"-envpassout"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
if
(
!
(
passout
=
getenv
(
*
(
++
argv
))))
{
BIO_printf
(
bio_err
,
"Can't read environment variable %s
\n
"
,
*
argv
);
goto
bad
;
}
}
else
if
(
strcmp
(
*
argv
,
"-passout"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
passout
=
*
(
++
argv
);
}
else
else
break
;
break
;
argv
++
;
argv
++
;
...
@@ -136,17 +153,19 @@ int MAIN(int argc, char **argv)
...
@@ -136,17 +153,19 @@ int MAIN(int argc, char **argv)
{
{
bad:
bad:
BIO_printf
(
bio_err
,
"usage: genrsa [args] [numbits]
\n
"
);
BIO_printf
(
bio_err
,
"usage: genrsa [args] [numbits]
\n
"
);
BIO_printf
(
bio_err
,
" -des
-
encrypt the generated key with DES in cbc mode
\n
"
);
BIO_printf
(
bio_err
,
" -des
encrypt the generated key with DES in cbc mode
\n
"
);
BIO_printf
(
bio_err
,
" -des3
-
encrypt the generated key with DES in ede cbc mode (168 bit key)
\n
"
);
BIO_printf
(
bio_err
,
" -des3
encrypt the generated key with DES in ede cbc mode (168 bit key)
\n
"
);
#ifndef NO_IDEA
#ifndef NO_IDEA
BIO_printf
(
bio_err
,
" -idea
-
encrypt the generated key with IDEA in cbc mode
\n
"
);
BIO_printf
(
bio_err
,
" -idea
encrypt the generated key with IDEA in cbc mode
\n
"
);
#endif
#endif
BIO_printf
(
bio_err
,
" -out file - output the key to 'file
\n
"
);
BIO_printf
(
bio_err
,
" -out file output the key to 'file
\n
"
);
BIO_printf
(
bio_err
,
" -f4 - use F4 (0x10001) for the E value
\n
"
);
BIO_printf
(
bio_err
,
" -passout arg output file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -3 - use 3 for the E value
\n
"
);
BIO_printf
(
bio_err
,
" -envpassout arg environment variable containing output file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -f4 use F4 (0x10001) for the E value
\n
"
);
BIO_printf
(
bio_err
,
" -3 use 3 for the E value
\n
"
);
BIO_printf
(
bio_err
,
" -rand file:file:...
\n
"
);
BIO_printf
(
bio_err
,
" -rand file:file:...
\n
"
);
BIO_printf
(
bio_err
,
"
-
load the file (or the files in the directory) into
\n
"
);
BIO_printf
(
bio_err
,
"
load the file (or the files in the directory) into
\n
"
);
BIO_printf
(
bio_err
,
" the random number generator
\n
"
);
BIO_printf
(
bio_err
,
"
the random number generator
\n
"
);
goto
err
;
goto
err
;
}
}
...
@@ -190,7 +209,7 @@ bad:
...
@@ -190,7 +209,7 @@ bad:
l
+=
rsa
->
e
->
d
[
i
];
l
+=
rsa
->
e
->
d
[
i
];
}
}
BIO_printf
(
bio_err
,
"e is %ld (0x%lX)
\n
"
,
l
,
l
);
BIO_printf
(
bio_err
,
"e is %ld (0x%lX)
\n
"
,
l
,
l
);
if
(
!
PEM_write_bio_RSAPrivateKey
(
out
,
rsa
,
enc
,
NULL
,
0
,
NULL
,
NULL
))
if
(
!
PEM_write_bio_RSAPrivateKey
(
out
,
rsa
,
enc
,
NULL
,
0
,
PEM_cb
,
passout
))
goto
err
;
goto
err
;
ret
=
0
;
ret
=
0
;
...
...
apps/pkcs12.c
浏览文件 @
f07fb9b2
...
@@ -61,13 +61,12 @@
...
@@ -61,13 +61,12 @@
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>
#include "apps.h"
#include <openssl/crypto.h>
#include <openssl/crypto.h>
#include <openssl/des.h>
#include <openssl/pem.h>
#include <openssl/err.h>
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/pkcs12.h>
#include <openssl/pkcs12.h>
#include "apps.h"
#define PROG pkcs12_main
#define PROG pkcs12_main
EVP_CIPHER
*
enc
;
EVP_CIPHER
*
enc
;
...
@@ -80,9 +79,9 @@ EVP_CIPHER *enc;
...
@@ -80,9 +79,9 @@ EVP_CIPHER *enc;
#define CACERTS 0x10
#define CACERTS 0x10
int
get_cert_chain
(
X509
*
cert
,
STACK_OF
(
X509
)
**
chain
);
int
get_cert_chain
(
X509
*
cert
,
STACK_OF
(
X509
)
**
chain
);
int
dump_certs_keys_p12
(
BIO
*
out
,
PKCS12
*
p12
,
char
*
pass
,
int
passlen
,
int
options
);
int
dump_certs_keys_p12
(
BIO
*
out
,
PKCS12
*
p12
,
char
*
pass
,
int
passlen
,
int
options
,
char
*
pempass
);
int
dump_certs_pkeys_bags
(
BIO
*
out
,
STACK
*
bags
,
char
*
pass
,
int
passlen
,
int
options
);
int
dump_certs_pkeys_bags
(
BIO
*
out
,
STACK
*
bags
,
char
*
pass
,
int
passlen
,
int
options
,
char
*
pempass
);
int
dump_certs_pkeys_bag
(
BIO
*
out
,
PKCS12_SAFEBAG
*
bags
,
char
*
pass
,
int
passlen
,
int
options
);
int
dump_certs_pkeys_bag
(
BIO
*
out
,
PKCS12_SAFEBAG
*
bags
,
char
*
pass
,
int
passlen
,
int
options
,
char
*
pempass
);
int
print_attribs
(
BIO
*
out
,
STACK_OF
(
X509_ATTRIBUTE
)
*
attrlst
,
char
*
name
);
int
print_attribs
(
BIO
*
out
,
STACK_OF
(
X509_ATTRIBUTE
)
*
attrlst
,
char
*
name
);
void
hex_prin
(
BIO
*
out
,
unsigned
char
*
buf
,
int
len
);
void
hex_prin
(
BIO
*
out
,
unsigned
char
*
buf
,
int
len
);
int
alg_print
(
BIO
*
x
,
X509_ALGOR
*
alg
);
int
alg_print
(
BIO
*
x
,
X509_ALGOR
*
alg
);
...
@@ -111,6 +110,7 @@ int MAIN(int argc, char **argv)
...
@@ -111,6 +110,7 @@ int MAIN(int argc, char **argv)
int
noprompt
=
0
;
int
noprompt
=
0
;
STACK
*
canames
=
NULL
;
STACK
*
canames
=
NULL
;
char
*
cpass
=
NULL
,
*
mpass
=
NULL
;
char
*
cpass
=
NULL
,
*
mpass
=
NULL
;
char
*
passin
=
NULL
,
*
passout
=
NULL
;
apps_startup
();
apps_startup
();
...
@@ -198,6 +198,36 @@ int MAIN(int argc, char **argv)
...
@@ -198,6 +198,36 @@ int MAIN(int argc, char **argv)
args
++
;
args
++
;
outfile
=
*
args
;
outfile
=
*
args
;
}
else
badarg
=
1
;
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-passin"
))
{
if
(
args
[
1
])
{
args
++
;
passin
=
*
args
;
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-envpassin"
))
{
if
(
args
[
1
])
{
args
++
;
if
(
!
(
passin
=
getenv
(
*
args
)))
{
BIO_printf
(
bio_err
,
"Can't read environment variable %s
\n
"
,
*
argv
);
badarg
=
1
;
}
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-envpassout"
))
{
if
(
args
[
1
])
{
args
++
;
if
(
!
(
passout
=
getenv
(
*
args
)))
{
BIO_printf
(
bio_err
,
"Can't read environment variable %s
\n
"
,
*
argv
);
badarg
=
1
;
}
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-passout"
))
{
if
(
args
[
1
])
{
args
++
;
passout
=
*
args
;
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-envpass"
))
{
}
else
if
(
!
strcmp
(
*
args
,
"-envpass"
))
{
if
(
args
[
1
])
{
if
(
args
[
1
])
{
args
++
;
args
++
;
...
@@ -206,7 +236,6 @@ int MAIN(int argc, char **argv)
...
@@ -206,7 +236,6 @@ int MAIN(int argc, char **argv)
"Can't read environment variable %s
\n
"
,
*
args
);
"Can't read environment variable %s
\n
"
,
*
args
);
goto
end
;
goto
end
;
}
}
noprompt
=
1
;
}
else
badarg
=
1
;
}
else
badarg
=
1
;
}
else
if
(
!
strcmp
(
*
args
,
"-password"
))
{
}
else
if
(
!
strcmp
(
*
args
,
"-password"
))
{
if
(
args
[
1
])
{
if
(
args
[
1
])
{
...
@@ -254,11 +283,22 @@ int MAIN(int argc, char **argv)
...
@@ -254,11 +283,22 @@ int MAIN(int argc, char **argv)
BIO_printf
(
bio_err
,
"-keysig set MS key signature type
\n
"
);
BIO_printf
(
bio_err
,
"-keysig set MS key signature type
\n
"
);
BIO_printf
(
bio_err
,
"-password p set import/export password (NOT RECOMMENDED)
\n
"
);
BIO_printf
(
bio_err
,
"-password p set import/export password (NOT RECOMMENDED)
\n
"
);
BIO_printf
(
bio_err
,
"-envpass p set import/export password from environment
\n
"
);
BIO_printf
(
bio_err
,
"-envpass p set import/export password from environment
\n
"
);
BIO_printf
(
bio_err
,
"-passin p input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassin p environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-passout p output file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassout p environment variable containing output file pass phrase
\n
"
);
goto
end
;
goto
end
;
}
}
if
(
cpass
)
mpass
=
cpass
;
if
(
!
cpass
)
{
else
{
if
(
export_cert
)
cpass
=
passout
;
else
cpass
=
passin
;
}
if
(
cpass
)
{
mpass
=
cpass
;
noprompt
=
1
;
}
else
{
cpass
=
pass
;
cpass
=
pass
;
mpass
=
macpass
;
mpass
=
macpass
;
}
}
...
@@ -337,7 +377,7 @@ int MAIN(int argc, char **argv)
...
@@ -337,7 +377,7 @@ int MAIN(int argc, char **argv)
#ifdef CRYPTO_MDEBUG
#ifdef CRYPTO_MDEBUG
CRYPTO_push_info
(
"process -export_cert"
);
CRYPTO_push_info
(
"process -export_cert"
);
#endif
#endif
key
=
PEM_read_bio_PrivateKey
(
inkey
?
inkey
:
in
,
NULL
,
NULL
,
NULL
);
key
=
PEM_read_bio_PrivateKey
(
inkey
?
inkey
:
in
,
NULL
,
PEM_cb
,
passin
);
if
(
!
inkey
)
(
void
)
BIO_reset
(
in
);
if
(
!
inkey
)
(
void
)
BIO_reset
(
in
);
else
BIO_free
(
inkey
);
else
BIO_free
(
inkey
);
if
(
!
key
)
{
if
(
!
key
)
{
...
@@ -504,7 +544,7 @@ int MAIN(int argc, char **argv)
...
@@ -504,7 +544,7 @@ int MAIN(int argc, char **argv)
#ifdef CRYPTO_MDEBUG
#ifdef CRYPTO_MDEBUG
CRYPTO_push_info
(
"output keys and certificates"
);
CRYPTO_push_info
(
"output keys and certificates"
);
#endif
#endif
if
(
!
dump_certs_keys_p12
(
out
,
p12
,
cpass
,
-
1
,
options
))
{
if
(
!
dump_certs_keys_p12
(
out
,
p12
,
cpass
,
-
1
,
options
,
passout
))
{
BIO_printf
(
bio_err
,
"Error outputting keys and certificates
\n
"
);
BIO_printf
(
bio_err
,
"Error outputting keys and certificates
\n
"
);
ERR_print_errors
(
bio_err
);
ERR_print_errors
(
bio_err
);
goto
end
;
goto
end
;
...
@@ -524,7 +564,7 @@ int MAIN(int argc, char **argv)
...
@@ -524,7 +564,7 @@ int MAIN(int argc, char **argv)
}
}
int
dump_certs_keys_p12
(
BIO
*
out
,
PKCS12
*
p12
,
char
*
pass
,
int
dump_certs_keys_p12
(
BIO
*
out
,
PKCS12
*
p12
,
char
*
pass
,
int
passlen
,
int
options
)
int
passlen
,
int
options
,
char
*
pempass
)
{
{
STACK
*
asafes
,
*
bags
;
STACK
*
asafes
,
*
bags
;
int
i
,
bagnid
;
int
i
,
bagnid
;
...
@@ -546,7 +586,7 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
...
@@ -546,7 +586,7 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
}
else
continue
;
}
else
continue
;
if
(
!
bags
)
return
0
;
if
(
!
bags
)
return
0
;
if
(
!
dump_certs_pkeys_bags
(
out
,
bags
,
pass
,
passlen
,
if
(
!
dump_certs_pkeys_bags
(
out
,
bags
,
pass
,
passlen
,
option
s
))
{
options
,
pempas
s
))
{
sk_pop_free
(
bags
,
PKCS12_SAFEBAG_free
);
sk_pop_free
(
bags
,
PKCS12_SAFEBAG_free
);
return
0
;
return
0
;
}
}
...
@@ -557,19 +597,19 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
...
@@ -557,19 +597,19 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
}
}
int
dump_certs_pkeys_bags
(
BIO
*
out
,
STACK
*
bags
,
char
*
pass
,
int
dump_certs_pkeys_bags
(
BIO
*
out
,
STACK
*
bags
,
char
*
pass
,
int
passlen
,
int
options
)
int
passlen
,
int
options
,
char
*
pempass
)
{
{
int
i
;
int
i
;
for
(
i
=
0
;
i
<
sk_num
(
bags
);
i
++
)
{
for
(
i
=
0
;
i
<
sk_num
(
bags
);
i
++
)
{
if
(
!
dump_certs_pkeys_bag
(
out
,
if
(
!
dump_certs_pkeys_bag
(
out
,
(
PKCS12_SAFEBAG
*
)
sk_value
(
bags
,
i
),
pass
,
passlen
,
(
PKCS12_SAFEBAG
*
)
sk_value
(
bags
,
i
),
pass
,
passlen
,
option
s
))
return
0
;
options
,
pempas
s
))
return
0
;
}
}
return
1
;
return
1
;
}
}
int
dump_certs_pkeys_bag
(
BIO
*
out
,
PKCS12_SAFEBAG
*
bag
,
char
*
pass
,
int
dump_certs_pkeys_bag
(
BIO
*
out
,
PKCS12_SAFEBAG
*
bag
,
char
*
pass
,
int
passlen
,
int
options
)
int
passlen
,
int
options
,
char
*
pempass
)
{
{
EVP_PKEY
*
pkey
;
EVP_PKEY
*
pkey
;
PKCS8_PRIV_KEY_INFO
*
p8
;
PKCS8_PRIV_KEY_INFO
*
p8
;
...
@@ -584,7 +624,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
...
@@ -584,7 +624,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
p8
=
bag
->
value
.
keybag
;
p8
=
bag
->
value
.
keybag
;
if
(
!
(
pkey
=
EVP_PKCS82PKEY
(
p8
)))
return
0
;
if
(
!
(
pkey
=
EVP_PKCS82PKEY
(
p8
)))
return
0
;
print_attribs
(
out
,
p8
->
attributes
,
"Key Attributes"
);
print_attribs
(
out
,
p8
->
attributes
,
"Key Attributes"
);
PEM_write_bio_PrivateKey
(
out
,
pkey
,
enc
,
NULL
,
0
,
NULL
,
NULL
);
PEM_write_bio_PrivateKey
(
out
,
pkey
,
enc
,
NULL
,
0
,
PEM_cb
,
pempass
);
EVP_PKEY_free
(
pkey
);
EVP_PKEY_free
(
pkey
);
break
;
break
;
...
@@ -600,7 +640,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
...
@@ -600,7 +640,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
if
(
!
(
pkey
=
EVP_PKCS82PKEY
(
p8
)))
return
0
;
if
(
!
(
pkey
=
EVP_PKCS82PKEY
(
p8
)))
return
0
;
print_attribs
(
out
,
p8
->
attributes
,
"Key Attributes"
);
print_attribs
(
out
,
p8
->
attributes
,
"Key Attributes"
);
PKCS8_PRIV_KEY_INFO_free
(
p8
);
PKCS8_PRIV_KEY_INFO_free
(
p8
);
PEM_write_bio_PrivateKey
(
out
,
pkey
,
enc
,
NULL
,
0
,
NULL
,
NULL
);
PEM_write_bio_PrivateKey
(
out
,
pkey
,
enc
,
NULL
,
0
,
PEM_cb
,
pempass
);
EVP_PKEY_free
(
pkey
);
EVP_PKEY_free
(
pkey
);
break
;
break
;
...
@@ -623,7 +663,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
...
@@ -623,7 +663,7 @@ int dump_certs_pkeys_bag (BIO *out, PKCS12_SAFEBAG *bag, char *pass,
if
(
options
&
INFO
)
BIO_printf
(
bio_err
,
"Safe Contents bag
\n
"
);
if
(
options
&
INFO
)
BIO_printf
(
bio_err
,
"Safe Contents bag
\n
"
);
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
print_attribs
(
out
,
bag
->
attrib
,
"Bag Attributes"
);
return
dump_certs_pkeys_bags
(
out
,
bag
->
value
.
safes
,
pass
,
return
dump_certs_pkeys_bags
(
out
,
bag
->
value
.
safes
,
pass
,
passlen
,
options
);
passlen
,
options
,
pempass
);
default:
default:
BIO_printf
(
bio_err
,
"Warning unsupported bag type: "
);
BIO_printf
(
bio_err
,
"Warning unsupported bag type: "
);
...
...
apps/pkcs8.c
浏览文件 @
f07fb9b2
...
@@ -176,22 +176,22 @@ int MAIN(int argc, char **argv)
...
@@ -176,22 +176,22 @@ int MAIN(int argc, char **argv)
bad:
bad:
BIO_printf
(
bio_err
,
"Usage pkcs8 [options]
\n
"
);
BIO_printf
(
bio_err
,
"Usage pkcs8 [options]
\n
"
);
BIO_printf
(
bio_err
,
"where options are
\n
"
);
BIO_printf
(
bio_err
,
"where options are
\n
"
);
BIO_printf
(
bio_err
,
"-in file input file
\n
"
);
BIO_printf
(
bio_err
,
"-in file
input file
\n
"
);
BIO_printf
(
bio_err
,
"-inform X input format (DER or PEM)
\n
"
);
BIO_printf
(
bio_err
,
"-inform X
input format (DER or PEM)
\n
"
);
BIO_printf
(
bio_err
,
"-passin arg input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-passin arg input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-outform X output format (DER or PEM)
\n
"
);
BIO_printf
(
bio_err
,
"-outform X
output format (DER or PEM)
\n
"
);
BIO_printf
(
bio_err
,
"-out file output file
\n
"
);
BIO_printf
(
bio_err
,
"-out file
output file
\n
"
);
BIO_printf
(
bio_err
,
"-passout arg
in
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-passout arg
out
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassout arg environment variable containing
inp
ut file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-envpassout arg environment variable containing
out
ut file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
"-topk8 output PKCS8 file
\n
"
);
BIO_printf
(
bio_err
,
"-topk8
output PKCS8 file
\n
"
);
BIO_printf
(
bio_err
,
"-nooct use (nonstandard) no octet format
\n
"
);
BIO_printf
(
bio_err
,
"-nooct
use (nonstandard) no octet format
\n
"
);
BIO_printf
(
bio_err
,
"-embed use (nonstandard) embedded DSA parameters format
\n
"
);
BIO_printf
(
bio_err
,
"-embed
use (nonstandard) embedded DSA parameters format
\n
"
);
BIO_printf
(
bio_err
,
"-nsdb use (nonstandard) DSA Netscape DB format
\n
"
);
BIO_printf
(
bio_err
,
"-nsdb
use (nonstandard) DSA Netscape DB format
\n
"
);
BIO_printf
(
bio_err
,
"-noiter use 1 as iteration count
\n
"
);
BIO_printf
(
bio_err
,
"-noiter
use 1 as iteration count
\n
"
);
BIO_printf
(
bio_err
,
"-nocrypt use or expect unencrypted private key
\n
"
);
BIO_printf
(
bio_err
,
"-nocrypt
use or expect unencrypted private key
\n
"
);
BIO_printf
(
bio_err
,
"-v2 alg use PKCS#5 v2.0 and cipher
\"
alg
\"\n
"
);
BIO_printf
(
bio_err
,
"-v2 alg
use PKCS#5 v2.0 and cipher
\"
alg
\"\n
"
);
BIO_printf
(
bio_err
,
"-v1 obj use PKCS#5 v1.5 and cipher
\"
alg
\"\n
"
);
BIO_printf
(
bio_err
,
"-v1 obj
use PKCS#5 v1.5 and cipher
\"
alg
\"\n
"
);
return
(
1
);
return
(
1
);
}
}
...
...
apps/rsa.c
浏览文件 @
f07fb9b2
...
@@ -201,8 +201,8 @@ bad:
...
@@ -201,8 +201,8 @@ bad:
BIO_printf
(
bio_err
,
" -envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -in arg input file
\n
"
);
BIO_printf
(
bio_err
,
" -in arg input file
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -passout arg
in
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -passout arg
out
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassout arg environment variable containing
in
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassout arg environment variable containing
out
put file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -des encrypt PEM output with cbc des
\n
"
);
BIO_printf
(
bio_err
,
" -des encrypt PEM output with cbc des
\n
"
);
BIO_printf
(
bio_err
,
" -des3 encrypt PEM output with ede cbc des using 168 bit key
\n
"
);
BIO_printf
(
bio_err
,
" -des3 encrypt PEM output with ede cbc des using 168 bit key
\n
"
);
#ifndef NO_IDEA
#ifndef NO_IDEA
...
...
apps/spkac.c
浏览文件 @
f07fb9b2
...
@@ -80,7 +80,7 @@ int MAIN(int argc, char **argv)
...
@@ -80,7 +80,7 @@ int MAIN(int argc, char **argv)
int
i
,
badops
=
0
,
ret
=
1
;
int
i
,
badops
=
0
,
ret
=
1
;
BIO
*
in
=
NULL
,
*
out
=
NULL
,
*
key
=
NULL
;
BIO
*
in
=
NULL
,
*
out
=
NULL
,
*
key
=
NULL
;
int
verify
=
0
,
noout
=
0
,
pubkey
=
0
;
int
verify
=
0
,
noout
=
0
,
pubkey
=
0
;
char
*
infile
=
NULL
,
*
outfile
=
NULL
,
*
prog
;
char
*
infile
=
NULL
,
*
outfile
=
NULL
,
*
prog
,
*
passin
=
NULL
;
char
*
spkac
=
"SPKAC"
,
*
spksect
=
"default"
,
*
spkstr
=
NULL
;
char
*
spkac
=
"SPKAC"
,
*
spksect
=
"default"
,
*
spkstr
=
NULL
;
char
*
challenge
=
NULL
,
*
keyfile
=
NULL
;
char
*
challenge
=
NULL
,
*
keyfile
=
NULL
;
LHASH
*
conf
=
NULL
;
LHASH
*
conf
=
NULL
;
...
@@ -106,6 +106,22 @@ int MAIN(int argc, char **argv)
...
@@ -106,6 +106,22 @@ int MAIN(int argc, char **argv)
if
(
--
argc
<
1
)
goto
bad
;
if
(
--
argc
<
1
)
goto
bad
;
outfile
=
*
(
++
argv
);
outfile
=
*
(
++
argv
);
}
}
else
if
(
strcmp
(
*
argv
,
"-passin"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
passin
=
*
(
++
argv
);
}
else
if
(
strcmp
(
*
argv
,
"-envpassin"
)
==
0
)
{
if
(
--
argc
<
1
)
goto
bad
;
if
(
!
(
passin
=
getenv
(
*
(
++
argv
))))
{
BIO_printf
(
bio_err
,
"Can't read environment variable %s
\n
"
,
*
argv
);
badops
=
1
;
}
}
else
if
(
strcmp
(
*
argv
,
"-key"
)
==
0
)
else
if
(
strcmp
(
*
argv
,
"-key"
)
==
0
)
{
{
if
(
--
argc
<
1
)
goto
bad
;
if
(
--
argc
<
1
)
goto
bad
;
...
@@ -145,6 +161,8 @@ bad:
...
@@ -145,6 +161,8 @@ bad:
BIO_printf
(
bio_err
,
" -in arg input file
\n
"
);
BIO_printf
(
bio_err
,
" -in arg input file
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -out arg output file
\n
"
);
BIO_printf
(
bio_err
,
" -key arg create SPKAC using private key
\n
"
);
BIO_printf
(
bio_err
,
" -key arg create SPKAC using private key
\n
"
);
BIO_printf
(
bio_err
,
" -passin arg input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -envpassin arg environment variable containing input file pass phrase
\n
"
);
BIO_printf
(
bio_err
,
" -challenge arg challenge string
\n
"
);
BIO_printf
(
bio_err
,
" -challenge arg challenge string
\n
"
);
BIO_printf
(
bio_err
,
" -spkac arg alternative SPKAC name
\n
"
);
BIO_printf
(
bio_err
,
" -spkac arg alternative SPKAC name
\n
"
);
BIO_printf
(
bio_err
,
" -noout don't print SPKAC
\n
"
);
BIO_printf
(
bio_err
,
" -noout don't print SPKAC
\n
"
);
...
@@ -163,7 +181,7 @@ bad:
...
@@ -163,7 +181,7 @@ bad:
ERR_print_errors
(
bio_err
);
ERR_print_errors
(
bio_err
);
goto
end
;
goto
end
;
}
}
pkey
=
PEM_read_bio_PrivateKey
(
key
,
NULL
,
NULL
,
NULL
);
pkey
=
PEM_read_bio_PrivateKey
(
key
,
NULL
,
PEM_cb
,
passin
);
if
(
!
pkey
)
{
if
(
!
pkey
)
{
BIO_printf
(
bio_err
,
"Error reading private key
\n
"
);
BIO_printf
(
bio_err
,
"Error reading private key
\n
"
);
ERR_print_errors
(
bio_err
);
ERR_print_errors
(
bio_err
);
...
...
crypto/bn/bntest.c
浏览文件 @
f07fb9b2
...
@@ -72,9 +72,9 @@
...
@@ -72,9 +72,9 @@
#include "../bio/bss_file.c"
#include "../bio/bss_file.c"
#endif
#endif
const
num0
=
100
;
/* number of tests */
const
int
num0
=
100
;
/* number of tests */
const
num1
=
50
;
/* additional tests for some functions */
const
int
num1
=
50
;
/* additional tests for some functions */
const
num2
=
5
;
/* number of tests for slow functions */
const
int
num2
=
5
;
/* number of tests for slow functions */
int
test_add
(
BIO
*
bp
);
int
test_add
(
BIO
*
bp
);
int
test_sub
(
BIO
*
bp
);
int
test_sub
(
BIO
*
bp
);
...
...
doc/apps/genrsa.pod
浏览文件 @
f07fb9b2
...
@@ -4,11 +4,12 @@
...
@@ -4,11 +4,12 @@
genrsa - generate an RSA private key
genrsa - generate an RSA private key
=head1 SYNOPSIS
=head1 SYNOPSIS
B<openssl> B<genrsa>
B<openssl> B<genrsa>
[B<-out filename>]
[B<-out filename>]
[B<-passout password>]
[B<-envpassout var>]
[B<-des>]
[B<-des>]
[B<-des3>]
[B<-des3>]
[B<-idea>]
[B<-idea>]
...
@@ -25,11 +26,26 @@ The B<genrsa> command generates an RSA private key.
...
@@ -25,11 +26,26 @@ The B<genrsa> command generates an RSA private key.
=over 4
=over 4
=item B<-out filename>
the output filename. If this argument is not specified then standard output is
used.
=item B<-passout password>
the output file password. Since certain utilities like "ps" make the command line
visible this option should be used with caution.
=item B<-envpassout var>
read the output file password from the environment variable B<var>.
=item B<-des|-des3|-idea>
=item B<-des|-des3|-idea>
These options encrypt the private key with the DES, triple DES, or the
These options encrypt the private key with the DES, triple DES, or the
IDEA ciphers respectively before outputting it. A pass phrase is prompted for.
IDEA ciphers respectively before outputting it. If none of these options is
If none of these options is specified no encryption is used.
specified no encryption is used. If encryption is used a pass phrase is prompted
for if it is not supplied via the B<-passout> or B<-envpassout> arguments.
=item B<-F4|-3>
=item B<-F4|-3>
...
...
doc/apps/pkcs12.pod
浏览文件 @
f07fb9b2
...
@@ -37,6 +37,10 @@ B<openssl> B<pkcs12>
...
@@ -37,6 +37,10 @@ B<openssl> B<pkcs12>
[B<-keysig>]
[B<-keysig>]
[B<-password password>]
[B<-password password>]
[B<-envpass var>]
[B<-envpass var>]
[B<-passin password>]
[B<-envpassin var>]
[B<-passout password>]
[B<-envpassout var>]
=head1 DESCRIPTION
=head1 DESCRIPTION
...
@@ -64,15 +68,24 @@ by default.
...
@@ -64,15 +68,24 @@ by default.
The filename to write certificates and private keys to, standard output by default.
The filename to write certificates and private keys to, standard output by default.
They are all written in PEM format.
They are all written in PEM format.
=item B<-pass password>
=item B<-pass password>
, B<-passin password>
the PKCS#12 file
password. Since certain utilities like "ps" make the command lin
e
the PKCS#12 file
(i.e. input file) password. Since certain utilities like "ps" mak
e
visible this option should be used with caution.
the command line
visible this option should be used with caution.
=item B<-envpass var>
=item B<-envpass var>
, B<-envpassin password>
read the PKCS#12 file password from the environment variable B<var>.
read the PKCS#12 file password from the environment variable B<var>.
=item B<-passout password>
pass phrase to encrypt any outputed private keys with. Since certain utilities like
"ps" make the command line visible this option should be used with caution.
=item B<-envpass var>, B<-envpassin password>
read the outputed private keys file password from the environment variable B<var>.
=item B<-noout>
=item B<-noout>
this option inhibits output of the keys and certificates to the output file version
this option inhibits output of the keys and certificates to the output file version
...
@@ -169,15 +182,24 @@ used multiple times to specify names for all certificates in the order they
...
@@ -169,15 +182,24 @@ used multiple times to specify names for all certificates in the order they
appear. Netscape ignores friendly names on other certificates whereas MSIE
appear. Netscape ignores friendly names on other certificates whereas MSIE
displays them.
displays them.
=item B<-pass password>
=item B<-pass password>
, B<-passout password>
the PKCS#12 file
password. Since certain utilities like "ps" make the command line
the PKCS#12 file
(i.e. output file) password. Since certain utilities like "ps"
visible this option should be used with caution.
make the command line
visible this option should be used with caution.
=item B<-envpass var>
=item B<-envpass var>
, B<-envpassout var>
read the PKCS#12 file password from the environment variable B<var>.
read the PKCS#12 file password from the environment variable B<var>.
=item B<-passin password>
pass phrase to decrypt the input private key with. Since certain utilities like
"ps" make the command line visible this option should be used with caution.
=item B<-envpassin password>
read the input private key file password from the environment variable B<var>.
=item B<-chain>
=item B<-chain>
if this option is present then an attempt is made to include the entire
if this option is present then an attempt is made to include the entire
...
@@ -277,9 +299,6 @@ Include some extra certificates:
...
@@ -277,9 +299,6 @@ Include some extra certificates:
Some would argue that the PKCS#12 standard is one big bug :-)
Some would argue that the PKCS#12 standard is one big bug :-)
Need password options for the PEM files: this will probably be fixed before
release.
=head1 SEE ALSO
=head1 SEE ALSO
L<pkcs8(1)|pkcs8(1)>
L<pkcs8(1)|pkcs8(1)>
...
...
doc/apps/spkac.pod
浏览文件 @
f07fb9b2
...
@@ -10,6 +10,8 @@ B<openssl> B<spkac>
...
@@ -10,6 +10,8 @@ B<openssl> B<spkac>
[B<-in filename>]
[B<-in filename>]
[B<-out filename>]
[B<-out filename>]
[B<-key keyfile>]
[B<-key keyfile>]
[B<-passin password>]
[B<-envpassin var>]
[B<-challenge string>]
[B<-challenge string>]
[B<-pubkey>]
[B<-pubkey>]
[B<-spkac spkacname>]
[B<-spkac spkacname>]
...
@@ -44,6 +46,17 @@ create an SPKAC file using the private key in B<keyfile>. The
...
@@ -44,6 +46,17 @@ create an SPKAC file using the private key in B<keyfile>. The
B<-in>, B<-noout>, B<-spksect> and B<-verify> options are ignored if
B<-in>, B<-noout>, B<-spksect> and B<-verify> options are ignored if
present.
present.
=item B<-passin password>
the private key file password. Since certain utilities like "ps" make the
command line visible this option should be used with caution. Ignored if
the B<-key> argument is not used.
=item B<-envpassin var>
read the private key file password from the environment variable B<var>.
Ignored if the B<-key> argument is not used.
=item B<-challenge string>
=item B<-challenge string>
specifies the challenge string if an SPKAC is being created.
specifies the challenge string if an SPKAC is being created.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录