Compare commits
37 Commits
OpenSSL_1_
...
OpenSSL_1_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76474e519f | ||
|
|
420f572d49 | ||
|
|
6d65d44b95 | ||
|
|
91e1ff77a0 | ||
|
|
c8e60ec8fa | ||
|
|
e840570207 | ||
|
|
077527f19e | ||
|
|
00daa2e6c6 | ||
|
|
000f221d60 | ||
|
|
579a605494 | ||
|
|
fa29ebd7ed | ||
|
|
3360999046 | ||
|
|
0b965e59cb | ||
|
|
1684846f54 | ||
|
|
dde6d9520c | ||
|
|
f9a772b743 | ||
|
|
0d6f7dbb50 | ||
|
|
994a1ea900 | ||
|
|
e5d1fd38d1 | ||
|
|
a330ed26be | ||
|
|
ca0a86c89d | ||
|
|
1cf7bbce48 | ||
|
|
4cdde22432 | ||
|
|
a28cee6efe | ||
|
|
1977bafba4 | ||
|
|
3c96907f2b | ||
|
|
2d96a30dc7 | ||
|
|
c09d1df7d3 | ||
|
|
c20dd45477 | ||
|
|
abb320463d | ||
|
|
ada3f8b5d3 | ||
|
|
6172561597 | ||
|
|
368b64d6dd | ||
|
|
4ed0ca2b3e | ||
|
|
a92f98c630 | ||
|
|
4385b556b4 | ||
|
|
5e7c9519b8 |
25
ACKNOWLEDGMENTS
Normal file
25
ACKNOWLEDGMENTS
Normal file
@@ -0,0 +1,25 @@
|
||||
The OpenSSL project depends on volunteer efforts and financial support from
|
||||
the end user community. That support comes in the form of donations and paid
|
||||
sponsorships, software support contracts, paid consulting services
|
||||
and commissioned software development.
|
||||
|
||||
Since all these activities support the continued development and improvement
|
||||
of OpenSSL we consider all these clients and customers as sponsors of the
|
||||
OpenSSL project.
|
||||
|
||||
We would like to identify and thank the following such sponsors for their past
|
||||
or current significant support of the OpenSSL project:
|
||||
|
||||
Very significant support:
|
||||
|
||||
OpenGear: www.opengear.com
|
||||
|
||||
Significant support:
|
||||
|
||||
PSW Group: www.psw.net
|
||||
|
||||
Please note that we ask permission to identify sponsors and that some sponsors
|
||||
we consider eligible for inclusion here have requested to remain anonymous.
|
||||
|
||||
Additional sponsorship or financial support is always welcome: for more
|
||||
information please contact the OpenSSL Software Foundation.
|
||||
12
CHANGES
12
CHANGES
@@ -2,6 +2,18 @@
|
||||
OpenSSL CHANGES
|
||||
_______________
|
||||
|
||||
Changes between 1.0.0b and 1.0.0c [2 Dec 2010]
|
||||
|
||||
*) Disable code workaround for ancient and obsolete Netscape browsers
|
||||
and servers: an attacker can use it in a ciphersuite downgrade attack.
|
||||
Thanks to Martin Rex for discovering this bug. CVE-2010-4180
|
||||
[Steve Henson]
|
||||
|
||||
*) Fixed J-PAKE implementation error, originally discovered by
|
||||
Sebastien Martini, further info and confirmation from Stefan
|
||||
Arentz and Feng Hao. Note that this fix is a security fix. CVE-2010-4252
|
||||
[Ben Laurie]
|
||||
|
||||
Changes between 1.0.0a and 1.0.0b [16 Nov 2010]
|
||||
|
||||
*) Fix extension code to avoid race conditions which can result in a buffer
|
||||
|
||||
@@ -1111,6 +1111,12 @@ my ($prelflags,$postlflags)=split('%',$lflags);
|
||||
if (defined($postlflags)) { $lflags=$postlflags; }
|
||||
else { $lflags=$prelflags; undef $prelflags; }
|
||||
|
||||
if ($target =~ /^mingw/ && `$cc --target-help 2>&1` !~ m/\-mno\-cygwin/m)
|
||||
{
|
||||
$cflags =~ s/\-mno\-cygwin\s*//;
|
||||
$shared_ldflag =~ s/\-mno\-cygwin\s*//;
|
||||
}
|
||||
|
||||
my $no_shared_warn=0;
|
||||
my $no_user_cflags=0;
|
||||
|
||||
|
||||
53
FAQ
53
FAQ
@@ -52,6 +52,9 @@ OpenSSL - Frequently Asked Questions
|
||||
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
|
||||
* Why does compiler fail to compile sha512.c?
|
||||
* Test suite still fails, what to do?
|
||||
* I think I've found a bug, what should I do?
|
||||
* I'm SURE I've found a bug, how do I report it?
|
||||
* I've found a security issue, how do I report it?
|
||||
|
||||
[PROG] Questions about programming with OpenSSL
|
||||
|
||||
@@ -79,7 +82,7 @@ OpenSSL - Frequently Asked Questions
|
||||
* Which is the current version of OpenSSL?
|
||||
|
||||
The current version is available from <URL: http://www.openssl.org>.
|
||||
OpenSSL 1.0.0b was released on Nov 16th, 2010.
|
||||
OpenSSL 1.0.0c was released on Dec 2nd, 2010.
|
||||
|
||||
In addition to the current stable release, you can also access daily
|
||||
snapshots of the OpenSSL development version at <URL:
|
||||
@@ -131,7 +134,7 @@ OpenSSL. Information on the OpenSSL mailing lists is available from
|
||||
* Where can I get a compiled version of OpenSSL?
|
||||
|
||||
You can finder pointers to binary distributions in
|
||||
http://www.openssl.org/related/binaries.html .
|
||||
<URL: http://www.openssl.org/related/binaries.html> .
|
||||
|
||||
Some applications that use OpenSSL are distributed in binary form.
|
||||
When using such an application, you don't need to install OpenSSL
|
||||
@@ -463,7 +466,7 @@ administrators.
|
||||
Other projects do have other policies so you can for example extract the CA
|
||||
bundle used by Mozilla and/or modssl as described in this article:
|
||||
|
||||
http://www.mail-archive.com/modssl-users@modssl.org/msg16980.html
|
||||
<URL: http://www.mail-archive.com/modssl-users@modssl.org/msg16980.html>
|
||||
|
||||
|
||||
[BUILD] =======================================================================
|
||||
@@ -505,7 +508,7 @@ when you run the test suite (using "make test"). The message returned is
|
||||
"bc: 1 not implemented".
|
||||
|
||||
The best way to deal with this is to find another implementation of bc
|
||||
and compile/install it. GNU bc (see http://www.gnu.org/software/software.html
|
||||
and compile/install it. GNU bc (see <URL: http://www.gnu.org/software/software.html>
|
||||
for download instructions) can be safely used, for example.
|
||||
|
||||
|
||||
@@ -516,7 +519,7 @@ that the OpenSSL bntest throws at it. This gets triggered when you run the
|
||||
test suite (using "make test"). The message returned is "bc: stack empty".
|
||||
|
||||
The best way to deal with this is to find another implementation of bc
|
||||
and compile/install it. GNU bc (see http://www.gnu.org/software/software.html
|
||||
and compile/install it. GNU bc (see <URL: http://www.gnu.org/software/software.html>
|
||||
for download instructions) can be safely used, for example.
|
||||
|
||||
|
||||
@@ -709,6 +712,46 @@ never make sense, and tend to emerge when you least expect them. In order
|
||||
to identify one, drop optimization level, e.g. by editing CFLAG line in
|
||||
top-level Makefile, recompile and re-run the test.
|
||||
|
||||
* I think I've found a bug, what should I do?
|
||||
|
||||
If you are a new user then it is quite likely you haven't found a bug and
|
||||
something is happening you aren't familiar with. Check this FAQ, the associated
|
||||
documentation and the mailing lists for similar queries. If you are still
|
||||
unsure whether it is a bug or not submit a query to the openssl-users mailing
|
||||
list.
|
||||
|
||||
|
||||
* I'm SURE I've found a bug, how do I report it?
|
||||
|
||||
Bug reports with no security implications should be sent to the request
|
||||
tracker. This can be done by mailing the report to <rt@openssl.org> (or its
|
||||
alias <openssl-bugs@openssl.org>), please note that messages sent to the
|
||||
request tracker also appear in the public openssl-dev mailing list.
|
||||
|
||||
The report should be in plain text. Any patches should be sent as
|
||||
plain text attachments because some mailers corrupt patches sent inline.
|
||||
If your issue affects multiple versions of OpenSSL check any patches apply
|
||||
cleanly and, if possible include patches to each affected version.
|
||||
|
||||
The report should be given a meaningful subject line briefly summarising the
|
||||
issue. Just "bug in OpenSSL" or "bug in OpenSSL 0.9.8n" is not very helpful.
|
||||
|
||||
By sending reports to the request tracker the bug can then be given a priority
|
||||
and assigned to the appropriate maintainer. The history of discussions can be
|
||||
accessed and if the issue has been addressed or a reason why not. If patches
|
||||
are only sent to openssl-dev they can be mislaid if a team member has to
|
||||
wade through months of old messages to review the discussion.
|
||||
|
||||
See also <URL: http://www.openssl.org/support/rt.html>
|
||||
|
||||
|
||||
* I've found a security issue, how do I report it?
|
||||
|
||||
If you think your bug has security implications then please send it to
|
||||
openssl-security@openssl.org if you don't get a prompt reply at least
|
||||
acknowledging receipt then resend or mail it directly to one of the
|
||||
more active team members (e.g. Steve).
|
||||
|
||||
[PROG] ========================================================================
|
||||
|
||||
* Is OpenSSL thread-safe?
|
||||
|
||||
@@ -185,6 +185,15 @@
|
||||
required. Run the installers and do whatever magic they say it takes
|
||||
to start MSYS bash shell with GNU tools on its PATH.
|
||||
|
||||
N.B. Since source tar-ball can contain symbolic links, it's essential
|
||||
that you use accompanying MSYS tar to unpack the source. It will
|
||||
either handle them in one way or another or fail to extract them,
|
||||
which does the trick too. Latter means that you may safely ignore all
|
||||
"cannot create symlink" messages, as they will be "re-created" at
|
||||
configure stage by copying corresponding files. Alternative programs
|
||||
were observed to create empty files instead, which results in build
|
||||
failure.
|
||||
|
||||
* Compile OpenSSL:
|
||||
|
||||
$ ./config
|
||||
|
||||
8
NEWS
8
NEWS
@@ -5,6 +5,14 @@
|
||||
This file gives a brief overview of the major changes between each OpenSSL
|
||||
release. For more details please read the CHANGES file.
|
||||
|
||||
Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c:
|
||||
|
||||
o Fix for security issue CVE-2010-4180
|
||||
o Fix for CVE-2010-4252
|
||||
o Fix mishandling of absent EC point format extension.
|
||||
o Fix various platform compilation issues.
|
||||
o Corrected fix for security issue CVE-2010-3864.
|
||||
|
||||
Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b:
|
||||
|
||||
o Fix for security issue CVE-2010-3864.
|
||||
|
||||
2
README
2
README
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 1.0.0b 16 Nov 2010
|
||||
OpenSSL 1.0.0c 2 Dec 2010
|
||||
|
||||
Copyright (c) 1998-2010 The OpenSSL Project
|
||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||
|
||||
3
STATUS
3
STATUS
@@ -1,10 +1,11 @@
|
||||
|
||||
OpenSSL STATUS Last modified at
|
||||
______________ $Date: 2010/11/16 13:35:08 $
|
||||
______________ $Date: 2010/12/02 18:29:03 $
|
||||
|
||||
DEVELOPMENT STATE
|
||||
|
||||
o OpenSSL 1.1.0: Under development...
|
||||
o OpenSSL 1.0.0c: Released on December 2nd, 2010
|
||||
o OpenSSL 1.0.0b: Released on November 16th, 2010
|
||||
o OpenSSL 1.0.0a: Released on June 1st, 2010
|
||||
o OpenSSL 1.0.0: Released on March 29th, 2010
|
||||
|
||||
@@ -1230,7 +1230,8 @@ int MAIN(int argc, char **argv)
|
||||
count*=2;
|
||||
Time_F(START);
|
||||
for (it=count; it; it--)
|
||||
DES_ecb_encrypt(buf_as_des_cblock,buf_as_des_cblock,
|
||||
DES_ecb_encrypt((DES_cblock *)buf,
|
||||
(DES_cblock *)buf,
|
||||
&sch,DES_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
} while (d <3);
|
||||
|
||||
@@ -131,7 +131,7 @@ bn_mul_words:
|
||||
brct %r4,.Loop4_mul
|
||||
|
||||
la %r10,1(%r10) // see if len%4 is zero ...
|
||||
brct %r10,.Loop1_madd // without touching condition code:-)
|
||||
brct %r10,.Loop1_mul // without touching condition code:-)
|
||||
|
||||
.Lend_mul:
|
||||
alcgr %r8,zero // collect carry bit
|
||||
|
||||
@@ -743,6 +743,16 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
#include <tchar.h>
|
||||
#include <signal.h>
|
||||
#ifdef __WATCOMC__
|
||||
#if defined(_UNICODE) || defined(__UNICODE__)
|
||||
#define _vsntprintf _vsnwprintf
|
||||
#else
|
||||
#define _vsntprintf _vsnprintf
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
#define alloca _alloca
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333
|
||||
int OPENSSL_isservice(void)
|
||||
@@ -773,11 +783,7 @@ int OPENSSL_isservice(void)
|
||||
|
||||
if (len>512) return -1; /* paranoia */
|
||||
len++,len&=~1; /* paranoia */
|
||||
#ifdef _MSC_VER
|
||||
name=(WCHAR *)_alloca(len+sizeof(WCHAR));
|
||||
#else
|
||||
name=(WCHAR *)alloca(len+sizeof(WCHAR));
|
||||
#endif
|
||||
if (!GetUserObjectInformationW (h,UOI_NAME,name,len,&len))
|
||||
return -1;
|
||||
|
||||
@@ -822,11 +828,7 @@ void OPENSSL_showfatal (const char *fmta,...)
|
||||
size_t len_0=strlen(fmta)+1,i;
|
||||
WCHAR *fmtw;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
fmtw = (WCHAR *)_alloca (len_0*sizeof(WCHAR));
|
||||
#else
|
||||
fmtw = (WCHAR *)alloca (len_0*sizeof(WCHAR));
|
||||
#endif
|
||||
fmtw = (WCHAR *)alloca(len_0*sizeof(WCHAR));
|
||||
if (fmtw == NULL) { fmt=(const TCHAR *)L"no stack?"; break; }
|
||||
|
||||
#ifndef OPENSSL_NO_MULTIBYTE
|
||||
|
||||
@@ -193,7 +193,7 @@ $ LIB_CAST = "c_skey,c_ecb,c_enc,c_cfb64,c_ofb64"
|
||||
$ LIB_CAMELLIA = "camellia,cmll_misc,cmll_ecb,cmll_cbc,cmll_ofb,"+ -
|
||||
"cmll_cfb,cmll_ctr"
|
||||
$ LIB_SEED = "seed,seed_ecb,seed_cbc,seed_cfb,seed_ofb"
|
||||
$ LIB_MODES = "cbc128,ctr128,cfb128,ofb128"
|
||||
$ LIB_MODES = "cbc128,ctr128,cfb128,ofb128,cts128"
|
||||
$ LIB_BN_ASM = "[.asm]vms.mar,vms-helper"
|
||||
$ IF F$TRNLNM("OPENSSL_NO_ASM") .OR. ARCH .NES. "VAX" THEN -
|
||||
LIB_BN_ASM = "bn_asm"
|
||||
@@ -1036,7 +1036,7 @@ $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||
THEN CC = "CC/DECC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
|
||||
"/NOLIST/PREFIX=ALL" + -
|
||||
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[._''ARCH'],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
"/INCLUDE=(SYS$DISK:[._''ARCH'],SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
CCEXTRAFLAGS
|
||||
$!
|
||||
$! Define The Linker Options File Name.
|
||||
@@ -1070,7 +1070,7 @@ $ EXIT
|
||||
$ ENDIF
|
||||
$ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
|
||||
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[._''ARCH'],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
"/INCLUDE=(SYS$DISK:[._''ARCH'],SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
CCEXTRAFLAGS
|
||||
$ CCDEFS = """VAXC""," + CCDEFS
|
||||
$!
|
||||
@@ -1102,7 +1102,7 @@ $!
|
||||
$! Use GNU C...
|
||||
$!
|
||||
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
|
||||
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[._''ARCH'],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
"/INCLUDE=(SYS$DISK:[._''ARCH'],SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + -
|
||||
CCEXTRAFLAGS
|
||||
$!
|
||||
$! Define The Linker Options File Name.
|
||||
|
||||
@@ -137,7 +137,7 @@ int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen)
|
||||
sctx = 0;
|
||||
if (sigret)
|
||||
{
|
||||
MS_STATIC EVP_MD_CTX tmp_ctx;
|
||||
EVP_MD_CTX tmp_ctx;
|
||||
unsigned char md[EVP_MAX_MD_SIZE];
|
||||
unsigned int mdlen;
|
||||
EVP_MD_CTX_init(&tmp_ctx);
|
||||
@@ -173,7 +173,7 @@ int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen)
|
||||
|
||||
int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, unsigned char *sig, size_t siglen)
|
||||
{
|
||||
MS_STATIC EVP_MD_CTX tmp_ctx;
|
||||
EVP_MD_CTX tmp_ctx;
|
||||
unsigned char md[EVP_MAX_MD_SIZE];
|
||||
int r;
|
||||
unsigned int mdlen;
|
||||
|
||||
@@ -411,7 +411,10 @@ void EVP_PKEY_free(EVP_PKEY *x)
|
||||
static void EVP_PKEY_free_it(EVP_PKEY *x)
|
||||
{
|
||||
if (x->ameth && x->ameth->pkey_free)
|
||||
{
|
||||
x->ameth->pkey_free(x);
|
||||
x->pkey.ptr = NULL;
|
||||
}
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
if (x->engine)
|
||||
{
|
||||
|
||||
@@ -81,7 +81,7 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen,
|
||||
unsigned char m[EVP_MAX_MD_SIZE];
|
||||
unsigned int m_len;
|
||||
int i,ok=0,v;
|
||||
MS_STATIC EVP_MD_CTX tmp_ctx;
|
||||
EVP_MD_CTX tmp_ctx;
|
||||
|
||||
*siglen=0;
|
||||
EVP_MD_CTX_init(&tmp_ctx);
|
||||
|
||||
@@ -68,7 +68,7 @@ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
|
||||
unsigned char m[EVP_MAX_MD_SIZE];
|
||||
unsigned int m_len;
|
||||
int i,ok=0,v;
|
||||
MS_STATIC EVP_MD_CTX tmp_ctx;
|
||||
EVP_MD_CTX tmp_ctx;
|
||||
|
||||
EVP_MD_CTX_init(&tmp_ctx);
|
||||
EVP_MD_CTX_copy_ex(&tmp_ctx,ctx);
|
||||
|
||||
@@ -120,12 +120,7 @@ $ IF D .EQS. ""
|
||||
$ THEN
|
||||
$ COPY 'tmp' WRK_SSLINCLUDE: /LOG
|
||||
$ ELSE
|
||||
$ IF D .EQS. "_''ARCH'"
|
||||
$ THEN
|
||||
$ COPY [-.'ARCH'.CRYPTO]'tmp' WRK_SSLINCLUDE: /LOG
|
||||
$ ELSE
|
||||
$ COPY [.'D']'tmp' WRK_SSLINCLUDE: /LOG
|
||||
$ ENDIF
|
||||
$ COPY [.'D']'tmp' WRK_SSLINCLUDE: /LOG
|
||||
$ ENDIF
|
||||
$ SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'tmp'
|
||||
$ GOTO LOOP_SDIRS
|
||||
|
||||
@@ -282,8 +282,37 @@ int JPAKE_STEP1_generate(JPAKE_STEP1 *send, JPAKE_CTX *ctx)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* g^x is a legal value */
|
||||
static int is_legal(const BIGNUM *gx, const JPAKE_CTX *ctx)
|
||||
{
|
||||
BIGNUM *t;
|
||||
int res;
|
||||
|
||||
if(BN_is_negative(gx) || BN_is_zero(gx) || BN_cmp(gx, ctx->p.p) >= 0)
|
||||
return 0;
|
||||
|
||||
t = BN_new();
|
||||
BN_mod_exp(t, gx, ctx->p.q, ctx->p.p, ctx->ctx);
|
||||
res = BN_is_one(t);
|
||||
BN_free(t);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
int JPAKE_STEP1_process(JPAKE_CTX *ctx, const JPAKE_STEP1 *received)
|
||||
{
|
||||
if(!is_legal(received->p1.gx, ctx))
|
||||
{
|
||||
JPAKEerr(JPAKE_F_JPAKE_STEP1_PROCESS, JPAKE_R_G_TO_THE_X3_IS_NOT_LEGAL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!is_legal(received->p2.gx, ctx))
|
||||
{
|
||||
JPAKEerr(JPAKE_F_JPAKE_STEP1_PROCESS, JPAKE_R_G_TO_THE_X4_IS_NOT_LEGAL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* verify their ZKP(xc) */
|
||||
if(!verify_zkp(&received->p1, ctx->p.g, ctx))
|
||||
{
|
||||
|
||||
@@ -115,6 +115,8 @@ void ERR_load_JPAKE_strings(void);
|
||||
#define JPAKE_F_VERIFY_ZKP 100
|
||||
|
||||
/* Reason codes. */
|
||||
#define JPAKE_R_G_TO_THE_X3_IS_NOT_LEGAL 108
|
||||
#define JPAKE_R_G_TO_THE_X4_IS_NOT_LEGAL 109
|
||||
#define JPAKE_R_G_TO_THE_X4_IS_ONE 105
|
||||
#define JPAKE_R_HASH_OF_HASH_OF_KEY_MISMATCH 106
|
||||
#define JPAKE_R_HASH_OF_KEY_MISMATCH 107
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* crypto/jpake/jpake_err.c */
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved.
|
||||
* Copyright (c) 1999-2010 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -80,6 +80,8 @@ static ERR_STRING_DATA JPAKE_str_functs[]=
|
||||
|
||||
static ERR_STRING_DATA JPAKE_str_reasons[]=
|
||||
{
|
||||
{ERR_REASON(JPAKE_R_G_TO_THE_X3_IS_NOT_LEGAL),"g to the x3 is not legal"},
|
||||
{ERR_REASON(JPAKE_R_G_TO_THE_X4_IS_NOT_LEGAL),"g to the x4 is not legal"},
|
||||
{ERR_REASON(JPAKE_R_G_TO_THE_X4_IS_ONE) ,"g to the x4 is one"},
|
||||
{ERR_REASON(JPAKE_R_HASH_OF_HASH_OF_KEY_MISMATCH),"hash of hash of key mismatch"},
|
||||
{ERR_REASON(JPAKE_R_HASH_OF_KEY_MISMATCH),"hash of key mismatch"},
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
||||
* major minor fix final patch/beta)
|
||||
*/
|
||||
#define OPENSSL_VERSION_NUMBER 0x1000002f
|
||||
#define OPENSSL_VERSION_NUMBER 0x1000003f
|
||||
#ifdef OPENSSL_FIPS
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0b-fips 16 Nov 2010"
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0c-fips 2 Dec 2010"
|
||||
#else
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0b 16 Nov 2010"
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0c 2 Dec 2010"
|
||||
#endif
|
||||
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
|
||||
|
||||
|
||||
@@ -310,7 +310,7 @@ const char *RAND_file_name(char *buf, size_t size)
|
||||
* to something hopefully decent if that isn't available.
|
||||
*/
|
||||
|
||||
if (!ok)
|
||||
if (!buf[0])
|
||||
if (BUF_strlcpy(buf,"/dev/arandom",size) >= size) {
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
@@ -179,7 +179,8 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void)
|
||||
sk_is_sorted(CHECKED_STACK_OF(type, st))
|
||||
|
||||
#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
(STACK_OF(type) *)d2i_ASN1_SET((STACK_OF(OPENSSL_BLOCK) **)CHECKED_STACK_OF(type, st), \
|
||||
(STACK_OF(type) *)d2i_ASN1_SET( \
|
||||
(STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \
|
||||
pp, length, \
|
||||
CHECKED_D2I_OF(type, d2i_func), \
|
||||
CHECKED_SK_FREE_FUNC(type, free_func), \
|
||||
|
||||
@@ -69,7 +69,7 @@ Verify signature using PKCS#1 and SHA256 digest:
|
||||
/* Error */
|
||||
|
||||
/* Perform operation */
|
||||
ret = EVP_PKEY_verify(ctx, md, mdlen, sig, siglen);
|
||||
ret = EVP_PKEY_verify(ctx, sig, siglen, md, mdlen);
|
||||
|
||||
/* ret == 1 indicates success, 0 verify failure and < 0 for some
|
||||
* other error.
|
||||
|
||||
@@ -74,7 +74,7 @@ Recover digest originally signed using PKCS#1 and SHA256 digest:
|
||||
/* Error */
|
||||
|
||||
/* Determine buffer length */
|
||||
if (EVP_PKEY_verifyrecover(ctx, rout, &routlen, sig, siglen) <= 0)
|
||||
if (EVP_PKEY_verifyrecover(ctx, NULL, &routlen, sig, siglen) <= 0)
|
||||
/* Error */
|
||||
|
||||
rout = OPENSSL_malloc(routlen);
|
||||
|
||||
@@ -78,18 +78,7 @@ this breaks this server so 16 bytes is the way to go.
|
||||
|
||||
=item SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
|
||||
|
||||
ssl3.netscape.com:443, first a connection is established with RC4-MD5.
|
||||
If it is then resumed, we end up using DES-CBC3-SHA. It should be
|
||||
RC4-MD5 according to 7.6.1.3, 'cipher_suite'.
|
||||
|
||||
Netscape-Enterprise/2.01 (https://merchant.netscape.com) has this bug.
|
||||
It only really shows up when connecting via SSLv2/v3 then reconnecting
|
||||
via SSLv3. The cipher list changes....
|
||||
|
||||
NEW INFORMATION. Try connecting with a cipher list of just
|
||||
DES-CBC-SHA:RC4-MD5. For some weird reason, each new connection uses
|
||||
RC4-MD5, but a re-connect tries to use DES-CBC-SHA. So netscape, when
|
||||
doing a re-connect, always takes the first cipher in the cipher list.
|
||||
As of OpenSSL 0.9.8q and 1.0.0c, this option has no effect.
|
||||
|
||||
=item SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG
|
||||
|
||||
|
||||
@@ -68,6 +68,8 @@ typedef int pid_t;
|
||||
#if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB)
|
||||
#define getpid GetThreadID
|
||||
extern int GetThreadID(void);
|
||||
#elif defined(_WIN32) && !defined(__WATCOMC__)
|
||||
#define getpid _getpid
|
||||
#endif
|
||||
|
||||
#include <openssl/crypto.h>
|
||||
@@ -867,13 +869,7 @@ static AEP_RV aep_get_connection(AEP_CONNECTION_HNDL_PTR phConnection)
|
||||
|
||||
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
|
||||
|
||||
#ifdef NETWARE_CLIB
|
||||
curr_pid = GetThreadID();
|
||||
#elif defined(_WIN32)
|
||||
curr_pid = _getpid();
|
||||
#else
|
||||
curr_pid = getpid();
|
||||
#endif
|
||||
|
||||
/*Check if this is the first time this is being called from the current
|
||||
process*/
|
||||
|
||||
@@ -76,10 +76,16 @@
|
||||
* CertGetCertificateContextProperty. CERT_KEY_PROV_INFO_PROP_ID is
|
||||
* one of possible values you can pass to function in question. By
|
||||
* checking if it's defined we can see if wincrypt.h and accompanying
|
||||
* crypt32.lib are in shape. Yes, it's rather "weak" test and if
|
||||
* compilation fails, then re-configure with -DOPENSSL_NO_CAPIENG.
|
||||
* crypt32.lib are in shape. The native MingW32 headers up to and
|
||||
* including __W32API_VERSION 3.14 lack of struct DSSPUBKEY and the
|
||||
* defines CERT_STORE_PROV_SYSTEM_A and CERT_STORE_READONLY_FLAG,
|
||||
* so we check for these too and avoid compiling.
|
||||
* Yes, it's rather "weak" test and if compilation fails,
|
||||
* then re-configure with -DOPENSSL_NO_CAPIENG.
|
||||
*/
|
||||
#ifdef CERT_KEY_PROV_INFO_PROP_ID
|
||||
#if defined(CERT_KEY_PROV_INFO_PROP_ID) && \
|
||||
defined(CERT_STORE_PROV_SYSTEM_A) && \
|
||||
defined(CERT_STORE_READONLY_FLAG)
|
||||
# define __COMPILE_CAPIENG
|
||||
#endif /* CERT_KEY_PROV_INFO_PROP_ID */
|
||||
#endif /* OPENSSL_NO_CAPIENG */
|
||||
|
||||
@@ -581,7 +581,7 @@ $ TIME = F$TIME()
|
||||
$!
|
||||
$! Write The [.CRYPTO._xxx]BUILDINF.H File.
|
||||
$!
|
||||
$ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */"
|
||||
$! WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */"
|
||||
$ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VERSION'"""
|
||||
$ WRITE H_FILE "#define DATE ""''TIME'"" "
|
||||
$!
|
||||
@@ -593,6 +593,11 @@ $! Purge The [.CRYPTO._xxx]BUILDINF.H File.
|
||||
$!
|
||||
$ PURGE SYS$DISK:[.CRYPTO._'ARCH']BUILDINF.H
|
||||
$!
|
||||
$! Delete [.CRYPTO]BUILDINF.H File, as there might be some residue from Unix.
|
||||
$!
|
||||
$ IF F$SEARCH("[.CRYPTO]BUILDINF.H") .NES. "" THEN -
|
||||
DELETE SYS$DISK:[.CRYPTO]BUILDINF.H;*
|
||||
$!
|
||||
$! That's All, Time To RETURN.
|
||||
$!
|
||||
$ RETURN
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%define libmaj 1
|
||||
%define libmin 0
|
||||
%define librel 0
|
||||
%define librev b
|
||||
%define librev c
|
||||
Release: 1
|
||||
|
||||
%define openssldir /var/ssl
|
||||
|
||||
@@ -866,8 +866,11 @@ int ssl3_get_server_hello(SSL *s)
|
||||
s->session->cipher_id = s->session->cipher->id;
|
||||
if (s->hit && (s->session->cipher_id != c->id))
|
||||
{
|
||||
/* Workaround is now obsolete */
|
||||
#if 0
|
||||
if (!(s->options &
|
||||
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG))
|
||||
#endif
|
||||
{
|
||||
al=SSL_AD_ILLEGAL_PARAMETER;
|
||||
SSLerr(SSL_F_SSL3_GET_SERVER_HELLO,SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED);
|
||||
|
||||
@@ -985,6 +985,10 @@ int ssl3_get_client_hello(SSL *s)
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* Disabled because it can be used in a ciphersuite downgrade
|
||||
* attack: CVE-2010-4180.
|
||||
*/
|
||||
#if 0
|
||||
if (j == 0 && (s->options & SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG) && (sk_SSL_CIPHER_num(ciphers) == 1))
|
||||
{
|
||||
/* Special case as client bug workaround: the previously used cipher may
|
||||
@@ -999,6 +1003,7 @@ int ssl3_get_client_hello(SSL *s)
|
||||
j = 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (j == 0)
|
||||
{
|
||||
/* we need to have the cipher in the cipher
|
||||
|
||||
15
ssl/t1_lib.c
15
ssl/t1_lib.c
@@ -779,8 +779,8 @@ int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, in
|
||||
{
|
||||
if(s->session->tlsext_ecpointformatlist)
|
||||
{
|
||||
*al = TLS1_AD_DECODE_ERROR;
|
||||
return 0;
|
||||
OPENSSL_free(s->session->tlsext_ecpointformatlist);
|
||||
s->session->tlsext_ecpointformatlist = NULL;
|
||||
}
|
||||
s->session->tlsext_ecpointformatlist_length = 0;
|
||||
if ((s->session->tlsext_ecpointformatlist = OPENSSL_malloc(ecpointformatlist_length)) == NULL)
|
||||
@@ -1452,23 +1452,20 @@ int ssl_check_serverhello_tlsext(SSL *s)
|
||||
int al = SSL_AD_UNRECOGNIZED_NAME;
|
||||
|
||||
#ifndef OPENSSL_NO_EC
|
||||
/* If we are client and using an elliptic curve cryptography cipher suite, then server
|
||||
* must return a an EC point formats lists containing uncompressed.
|
||||
/* If we are client and using an elliptic curve cryptography cipher
|
||||
* suite, then if server returns an EC point formats lists extension
|
||||
* it must contain uncompressed.
|
||||
*/
|
||||
unsigned long alg_k = s->s3->tmp.new_cipher->algorithm_mkey;
|
||||
unsigned long alg_a = s->s3->tmp.new_cipher->algorithm_auth;
|
||||
if ((s->tlsext_ecpointformatlist != NULL) && (s->tlsext_ecpointformatlist_length > 0) &&
|
||||
(s->session->tlsext_ecpointformatlist != NULL) && (s->session->tlsext_ecpointformatlist_length > 0) &&
|
||||
((alg_k & (SSL_kEECDH|SSL_kECDHr|SSL_kECDHe)) || (alg_a & SSL_aECDSA)))
|
||||
{
|
||||
/* we are using an ECC cipher */
|
||||
size_t i;
|
||||
unsigned char *list;
|
||||
int found_uncompressed = 0;
|
||||
if ((s->session->tlsext_ecpointformatlist == NULL) || (s->session->tlsext_ecpointformatlist_length == 0))
|
||||
{
|
||||
SSLerr(SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT,SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST);
|
||||
return -1;
|
||||
}
|
||||
list = s->session->tlsext_ecpointformatlist;
|
||||
for (i = 0; i < s->session->tlsext_ecpointformatlist_length; i++)
|
||||
{
|
||||
|
||||
152
test/bctest.com
Normal file
152
test/bctest.com
Normal file
@@ -0,0 +1,152 @@
|
||||
$!
|
||||
$! Check operation of "bc".
|
||||
$!
|
||||
$! 2010-04-05 SMS. New. Based (loosely) on "bctest".
|
||||
$!
|
||||
$!
|
||||
$ tmp_file_name = "tmp.bctest"
|
||||
$ failure = ""
|
||||
$!
|
||||
$! Basic command test.
|
||||
$!
|
||||
$ on warning then goto bc_fail
|
||||
$ bc
|
||||
$ on error then exit
|
||||
$!
|
||||
$! Test for SunOS 5.[78] bc bug.
|
||||
$!
|
||||
$ if (failure .eqs. "")
|
||||
$ then
|
||||
$!
|
||||
$ define /user_mode sys$output 'tmp_file_name'
|
||||
$ bc
|
||||
obase=16
|
||||
ibase=16
|
||||
a=AD88C418F31B3FC712D0425001D522B3AE9134FF3A98C13C1FCC1682211195406C1A6C66C6A\
|
||||
CEEC1A0EC16950233F77F1C2F2363D56DD71A36C57E0B2511FC4BA8F22D261FE2E9356D99AF57\
|
||||
10F3817C0E05BF79C423C3F66FDF321BE8D3F18F625D91B670931C1EF25F28E489BDA1C5422D1\
|
||||
C3F6F7A1AD21585746ECC4F10A14A778AF56F08898E965E9909E965E0CB6F85B514150C644759\
|
||||
3BE731877B16EA07B552088FF2EA728AC5E0FF3A23EB939304519AB8B60F2C33D6BA0945B66F0\
|
||||
4FC3CADF855448B24A9D7640BCF473E
|
||||
b=DCE91E7D120B983EA9A104B5A96D634DD644C37657B1C7860B45E6838999B3DCE5A555583C6\
|
||||
9209E41F413422954175A06E67FFEF6746DD652F0F48AEFECC3D8CAC13523BDAAD3F5AF4212BD\
|
||||
8B3CD64126E1A82E190228020C05B91C8B141F1110086FC2A4C6ED631EBA129D04BB9A19FC53D\
|
||||
3ED0E2017D60A68775B75481449
|
||||
(a/b)*b + (a%b) - a
|
||||
$ status = $status
|
||||
$ output_expected = "0"
|
||||
$ gosub check_output
|
||||
$ if (output .ne. 1)
|
||||
$ then
|
||||
$ failure = "SunOStest"
|
||||
$ else
|
||||
$ delete 'f$parse( tmp_file_name)'
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$! Test for SCO bc bug.
|
||||
$!
|
||||
$ if (failure .eqs. "")
|
||||
$ then
|
||||
$!
|
||||
$ define /user_mode sys$output 'tmp_file_name'
|
||||
$ bc
|
||||
obase=16
|
||||
ibase=16
|
||||
-FFDD63BA1A4648F0D804F8A1C66C53F0D2110590E8A3907EC73B4AEC6F15AC177F176F2274D2\
|
||||
9DC8022EA0D7DD3ABE9746D2D46DD3EA5B5F6F69DF12877E0AC5E7F5ADFACEE54573F5D256A06\
|
||||
11B5D2BC24947724E22AE4EC3FB0C39D9B4694A01AFE5E43B4D99FB9812A0E4A5773D8B254117\
|
||||
1239157EC6E3D8D50199 * -FFDD63BA1A4648F0D804F8A1C66C53F0D2110590E8A3907EC73B4\
|
||||
AEC6F15AC177F176F2274D29DC8022EA0D7DD3ABE9746D2D46DD3EA5B5F6F69DF12877E0AC5E7\
|
||||
F5ADFACEE54573F5D256A0611B5D2BC24947724E22AE4EC3FB0C39D9B4694A01AFE5E43B4D99F\
|
||||
B9812A0E4A5773D8B2541171239157EC6E3D8D50199 - FFBACC221682DA464B6D7F123482522\
|
||||
02EDAEDCA38C3B69E9B7BBCD6165A9CD8716C4903417F23C09A85B851961F92C217258CEEB866\
|
||||
85EFCC5DD131853A02C07A873B8E2AF2E40C6D5ED598CD0E8F35AD49F3C3A17FDB7653E4E2DC4\
|
||||
A8D23CC34686EE4AD01F7407A7CD74429AC6D36DBF0CB6A3E302D0E5BDFCD048A3B90C1BE5AA8\
|
||||
E16C3D5884F9136B43FF7BB443764153D4AEC176C681B078F4CC53D6EB6AB76285537DDEE7C18\
|
||||
8C72441B52EDBDDBC77E02D34E513F2AABF92F44109CAFE8242BD0ECBAC5604A94B02EA44D43C\
|
||||
04E9476E6FBC48043916BFA1485C6093603600273C9C33F13114D78064AE42F3DC466C7DA543D\
|
||||
89C8D71
|
||||
AD534AFBED2FA39EE9F40E20FCF9E2C861024DB98DDCBA1CD118C49CA55EEBC20D6BA51B2271C\
|
||||
928B693D6A73F67FEB1B4571448588B46194617D25D910C6A9A130CC963155CF34079CB218A44\
|
||||
8A1F57E276D92A33386DDCA3D241DB78C8974ABD71DD05B0FA555709C9910D745185E6FE108E3\
|
||||
37F1907D0C56F8BFBF52B9704 % -E557905B56B13441574CAFCE2BD257A750B1A8B2C88D0E36\
|
||||
E18EF7C38DAC80D3948E17ED63AFF3B3467866E3B89D09A81B3D16B52F6A3C7134D3C6F5123E9\
|
||||
F617E3145BBFBE9AFD0D6E437EA4FF6F04BC67C4F1458B4F0F47B64 - 1C2BBBB19B74E86FD32\
|
||||
9E8DB6A8C3B1B9986D57ED5419C2E855F7D5469E35E76334BB42F4C43E3F3A31B9697C171DAC4\
|
||||
D97935A7E1A14AD209D6CF811F55C6DB83AA9E6DFECFCD6669DED7171EE22A40C6181615CAF3F\
|
||||
5296964
|
||||
$ status = $status
|
||||
$ output_expected = "0\0"
|
||||
$ gosub check_output
|
||||
$ if (output .ne. 1)
|
||||
$ then
|
||||
$ failure = "SCOtest"
|
||||
$ else
|
||||
$ delete 'f$parse( tmp_file_name)'
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$! Test for working 'print' command.
|
||||
$!
|
||||
$ if (failure .eqs. "")
|
||||
$ then
|
||||
$!
|
||||
$ define /user_mode sys$output 'tmp_file_name'
|
||||
$ bc
|
||||
print "OK"
|
||||
$ status = $status
|
||||
$ output_expected = "OK"
|
||||
$ gosub check_output
|
||||
$ if (output .ne. 1)
|
||||
$ then
|
||||
$ failure = "printtest"
|
||||
$ else
|
||||
$ delete 'f$parse( tmp_file_name)'
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$ if (failure .nes. "")
|
||||
$ then
|
||||
$ write sys$output -
|
||||
"No working bc found. Consider installing GNU bc."
|
||||
$ exit %X00030000 ! %DCL-W-NORMAL
|
||||
$ endif
|
||||
$!
|
||||
$ exit
|
||||
$!
|
||||
$!
|
||||
$! Complete "bc" command failure.
|
||||
$!
|
||||
$ bc_fail:
|
||||
$ write sys$output -
|
||||
"No ""bc"" program/symbol found. Consider installing GNU bc."
|
||||
$ exit %X00030000 ! %DCL-W-NORMAL
|
||||
$!
|
||||
$!
|
||||
$! Output check subroutine.
|
||||
$!
|
||||
$ check_output:
|
||||
$ eof = 0
|
||||
$ line_nr = 0
|
||||
$ open /read tmp_file 'tmp_file_name'
|
||||
$ c_o_loop:
|
||||
$ read /error = error_read tmp_file line
|
||||
$ goto ok_read
|
||||
$ error_read:
|
||||
$ eof = 1
|
||||
$ ok_read:
|
||||
$ line_expected = f$element( line_nr, "\", output_expected)
|
||||
$ line_nr = line_nr+ 1
|
||||
$ if ((line_expected .nes. "\") .and. (.not. eof) .and. -
|
||||
(line_expected .eqs. line)) then goto c_o_loop
|
||||
$!
|
||||
$ if ((line_expected .eqs. "\") .and. eof)
|
||||
$ then
|
||||
$ output = 1
|
||||
$ else
|
||||
$ output = 0
|
||||
$ endif
|
||||
$ close tmp_file
|
||||
$ return
|
||||
$!
|
||||
69
test/bntest.com
Normal file
69
test/bntest.com
Normal file
@@ -0,0 +1,69 @@
|
||||
$!
|
||||
$! Analyze bntest output file.
|
||||
$!
|
||||
$! Exit status = 1 (success) if all tests passed,
|
||||
$! 0 (warning) if any test failed.
|
||||
$!
|
||||
$! 2010-04-05 SMS. New. Based (loosely) on perl code in bntest-vms.sh.
|
||||
$!
|
||||
$! Expect data like:
|
||||
$! test test_name1
|
||||
$! 0
|
||||
$! [...]
|
||||
$! test test_name2
|
||||
$! 0
|
||||
$! [...]
|
||||
$! [...]
|
||||
$!
|
||||
$! Some tests have no following "0" lines.
|
||||
$!
|
||||
$ result_file_name = f$edit( p1, "TRIM")
|
||||
$ if (result_file_name .eqs. "")
|
||||
$ then
|
||||
$ result_file_name = "bntest-vms.out"
|
||||
$ endif
|
||||
$!
|
||||
$ fail = 0
|
||||
$ passed = 0
|
||||
$ tests = 0
|
||||
$!
|
||||
$ on control_c then goto tidy
|
||||
$ on error then goto tidy
|
||||
$!
|
||||
$ open /read result_file 'result_file_name'
|
||||
$!
|
||||
$ read_loop:
|
||||
$ read /end = read_loop_end /error = tidy result_file line
|
||||
$ t1 = f$element( 0, " ", line)
|
||||
$ if (t1 .eqs. "test")
|
||||
$ then
|
||||
$ passed = passed+ 1
|
||||
$ tests = tests+ 1
|
||||
$ fail = 1
|
||||
$ t2 = f$extract( 5, 1000, line)
|
||||
$ write sys$output "verify ''t2'"
|
||||
$ else
|
||||
$ if (t1 .nes. "0")
|
||||
$ then
|
||||
$ write sys$output "Failed! bc: ''line'"
|
||||
$ passed = passed- fail
|
||||
$ fail = 0
|
||||
$ endif
|
||||
$ endif
|
||||
$ goto read_loop
|
||||
$ read_loop_end:
|
||||
$ write sys$output "''passed'/''tests' tests passed"
|
||||
$!
|
||||
$ tidy:
|
||||
$ if f$trnlnm( "result_file", "LNM$PROCESS_TABLE", , "SUPERVISOR", , "CONFINE")
|
||||
$ then
|
||||
$ close result_file
|
||||
$ endif
|
||||
$!
|
||||
$ if ((tests .gt. 0) .and. (tests .eq. passed))
|
||||
$ then
|
||||
$ exit 1
|
||||
$ else
|
||||
$ exit 0
|
||||
$ endif
|
||||
$!
|
||||
@@ -54,9 +54,13 @@
|
||||
# OpenSSL PKCS#7 and CMS implementations.
|
||||
|
||||
my $ossl_path;
|
||||
my $redir = " 2>cms.err 1>cms.out";
|
||||
my $redir = " 2> cms.err > cms.out";
|
||||
# Make VMS work
|
||||
if ( $^O eq "VMS" && -f "$ENV{EXE_DIR}openssl.exe" ) {
|
||||
$ossl_path = "pipe mcr $ENV{EXE_DIR}openssl.exe";
|
||||
}
|
||||
# Make MSYS work
|
||||
if ( $^O eq "MSWin32" && -f "../apps/openssl.exe" ) {
|
||||
elsif ( $^O eq "MSWin32" && -f "../apps/openssl.exe" ) {
|
||||
$ossl_path = "cmd /c ..\\apps\\openssl";
|
||||
}
|
||||
elsif ( -f "../apps/openssl$ENV{EXE_EXT}" ) {
|
||||
@@ -84,79 +88,79 @@ my @smime_pkcs7_tests = (
|
||||
|
||||
[
|
||||
"signed content DER format, RSA key",
|
||||
"-sign -in smcont.txt -outform DER -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach"
|
||||
. " -certfile $smdir/smroot.pem"
|
||||
. " -signer $smdir/smrsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed detached content DER format, RSA key",
|
||||
"-sign -in smcont.txt -outform DER"
|
||||
"-sign -in smcont.txt -outform \"DER\""
|
||||
. " -signer $smdir/smrsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed content test streaming BER format, RSA",
|
||||
"-sign -in smcont.txt -outform DER -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach"
|
||||
. " -stream -signer $smdir/smrsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed content DER format, DSA key",
|
||||
"-sign -in smcont.txt -outform DER -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach"
|
||||
. " -signer $smdir/smdsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed detached content DER format, DSA key",
|
||||
"-sign -in smcont.txt -outform DER"
|
||||
"-sign -in smcont.txt -outform \"DER\""
|
||||
. " -signer $smdir/smdsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed detached content DER format, add RSA signer",
|
||||
"-resign -inform DER -in test.cms -outform DER"
|
||||
"-resign -inform \"DER\" -in test.cms -outform \"DER\""
|
||||
. " -signer $smdir/smrsa1.pem -out test2.cms",
|
||||
"-verify -in test2.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
"-verify -in test2.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt -content smcont.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed content test streaming BER format, DSA key",
|
||||
"-sign -in smcont.txt -outform DER -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach"
|
||||
. " -stream -signer $smdir/smdsa1.pem -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed content test streaming BER format, 2 DSA and 2 RSA keys",
|
||||
"-sign -in smcont.txt -outform DER -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach"
|
||||
. " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem"
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"signed content test streaming BER format, 2 DSA and 2 RSA keys, no attributes",
|
||||
"-sign -in smcont.txt -outform DER -noattr -nodetach"
|
||||
"-sign -in smcont.txt -outform \"DER\" -noattr -nodetach"
|
||||
. " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem"
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -165,7 +169,7 @@ my @smime_pkcs7_tests = (
|
||||
. " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem"
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms " . " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms " . " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -174,7 +178,7 @@ my @smime_pkcs7_tests = (
|
||||
. " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem"
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms " . " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms " . " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -215,12 +219,12 @@ my @smime_cms_tests = (
|
||||
|
||||
[
|
||||
"signed content test streaming BER format, 2 DSA and 2 RSA keys, keyid",
|
||||
"-sign -in smcont.txt -outform DER -nodetach -keyid"
|
||||
"-sign -in smcont.txt -outform \"DER\" -nodetach -keyid"
|
||||
. " -signer $smdir/smrsa1.pem -signer $smdir/smrsa2.pem"
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms -inform DER "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
"-verify -in test.cms -inform \"DER\" "
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -230,7 +234,7 @@ my @smime_cms_tests = (
|
||||
. " -signer $smdir/smdsa1.pem -signer $smdir/smdsa2.pem"
|
||||
. " -stream -out test.cms",
|
||||
"-verify -in test.cms -inform PEM "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -239,7 +243,7 @@ my @smime_cms_tests = (
|
||||
. " -receipt_request_to test\@openssl.org -receipt_request_all"
|
||||
. " -out test.cms",
|
||||
"-verify -in test.cms "
|
||||
. " -CAfile $smdir/smroot.pem -out smtst.txt"
|
||||
. " \"-CAfile\" $smdir/smroot.pem -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -248,7 +252,7 @@ my @smime_cms_tests = (
|
||||
. " -signer $smdir/smrsa2.pem"
|
||||
. " -out test2.cms",
|
||||
"-verify_receipt test2.cms -in test.cms"
|
||||
. " -CAfile $smdir/smroot.pem"
|
||||
. " \"-CAfile\" $smdir/smroot.pem"
|
||||
],
|
||||
|
||||
[
|
||||
@@ -289,38 +293,38 @@ my @smime_cms_tests = (
|
||||
|
||||
[
|
||||
"encrypted content test streaming PEM format, 128 bit RC2 key",
|
||||
"-EncryptedData_encrypt -in smcont.txt -outform PEM"
|
||||
"\"-EncryptedData_encrypt\" -in smcont.txt -outform PEM"
|
||||
. " -rc2 -secretkey 000102030405060708090A0B0C0D0E0F"
|
||||
. " -stream -out test.cms",
|
||||
"-EncryptedData_decrypt -in test.cms -inform PEM "
|
||||
"\"-EncryptedData_decrypt\" -in test.cms -inform PEM "
|
||||
. " -secretkey 000102030405060708090A0B0C0D0E0F -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"encrypted content test streaming PEM format, 40 bit RC2 key",
|
||||
"-EncryptedData_encrypt -in smcont.txt -outform PEM"
|
||||
"\"-EncryptedData_encrypt\" -in smcont.txt -outform PEM"
|
||||
. " -rc2 -secretkey 0001020304"
|
||||
. " -stream -out test.cms",
|
||||
"-EncryptedData_decrypt -in test.cms -inform PEM "
|
||||
"\"-EncryptedData_decrypt\" -in test.cms -inform PEM "
|
||||
. " -secretkey 0001020304 -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"encrypted content test streaming PEM format, triple DES key",
|
||||
"-EncryptedData_encrypt -in smcont.txt -outform PEM"
|
||||
"\"-EncryptedData_encrypt\" -in smcont.txt -outform PEM"
|
||||
. " -des3 -secretkey 000102030405060708090A0B0C0D0E0F1011121314151617"
|
||||
. " -stream -out test.cms",
|
||||
"-EncryptedData_decrypt -in test.cms -inform PEM "
|
||||
"\"-EncryptedData_decrypt\" -in test.cms -inform PEM "
|
||||
. " -secretkey 000102030405060708090A0B0C0D0E0F1011121314151617"
|
||||
. " -out smtst.txt"
|
||||
],
|
||||
|
||||
[
|
||||
"encrypted content test streaming PEM format, 128 bit AES key",
|
||||
"-EncryptedData_encrypt -in smcont.txt -outform PEM"
|
||||
"\"-EncryptedData_encrypt\" -in smcont.txt -outform PEM"
|
||||
. " -aes128 -secretkey 000102030405060708090A0B0C0D0E0F"
|
||||
. " -stream -out test.cms",
|
||||
"-EncryptedData_decrypt -in test.cms -inform PEM "
|
||||
"\"-EncryptedData_decrypt\" -in test.cms -inform PEM "
|
||||
. " -secretkey 000102030405060708090A0B0C0D0E0F -out smtst.txt"
|
||||
],
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ $ TEST_FILES = "BNTEST,ECTEST,ECDSATEST,ECDHTEST,IDEATEST,"+ -
|
||||
"MDC2TEST,RMDTEST,"+ -
|
||||
"RANDTEST,DHTEST,ENGINETEST,"+ -
|
||||
"BFTEST,CASTTEST,SSLTEST,EXPTEST,DSATEST,RSA_TEST,"+ -
|
||||
"EVP_TEST,JPAKETEST"
|
||||
"EVP_TEST,IGETEST,JPAKETEST,ASN1TEST"
|
||||
$! Should we add MTTEST,PQ_TEST,LH_TEST,DIVTEST,TABTEST as well?
|
||||
$!
|
||||
$! Additional directory information.
|
||||
@@ -139,8 +139,9 @@ $ T_D_EXPTEST := [-.crypto.bn]
|
||||
$ T_D_DSATEST := [-.crypto.dsa]
|
||||
$ T_D_RSA_TEST := [-.crypto.rsa]
|
||||
$ T_D_EVP_TEST := [-.crypto.evp]
|
||||
$ T_D_JPAKETEST := [-.crypto.jpake]
|
||||
$ T_D_IGETEST := [-.test]
|
||||
$ T_D_JPAKETEST := [-.crypto.jpake]
|
||||
$ T_D_ASN1TEST := [-.test]
|
||||
$!
|
||||
$ TCPIP_PROGRAMS = ",,"
|
||||
$ IF COMPILER .EQS. "VAXC" THEN -
|
||||
|
||||
@@ -12,11 +12,16 @@ $ if __arch .eqs. "" then __arch := UNK
|
||||
$ texe_dir := sys$disk:[-.'__arch'.exe.test]
|
||||
$ exe_dir := sys$disk:[-.'__arch'.exe.apps]
|
||||
$
|
||||
$ sslroot = f$parse("sys$disk:[-.apps];",,,,"syntax_only") - "].;"+ ".]"
|
||||
$ define /translation_attributes = concealed sslroot 'sslroot'
|
||||
$
|
||||
$ set default '__here'
|
||||
$
|
||||
$ ROOT = F$PARSE("sys$disk:[-]A.;0",,,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0"
|
||||
$ ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY")
|
||||
$ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
|
||||
- ".][000000" - "[000000." - "][" - "[" - "]"
|
||||
$ ROOT = ROOT_DEV + "[" + ROOT_DIR
|
||||
$ DEFINE/NOLOG SSLROOT 'ROOT'.APPS.] /TRANS=CONC
|
||||
$ openssl_conf := sslroot:[000000]openssl-vms.cnf
|
||||
$
|
||||
$ on control_y then goto exit
|
||||
$ on error then goto exit
|
||||
$
|
||||
@@ -70,17 +75,19 @@ $ ENGINETEST := enginetest
|
||||
$ EVPTEST := evp_test
|
||||
$ IGETEST := igetest
|
||||
$ JPAKETEST := jpaketest
|
||||
$ ASN1TEST := asn1test
|
||||
$
|
||||
$ tests_i = 0
|
||||
$ loop_tests:
|
||||
$ tests_e = f$element(tests_i,",",tests)
|
||||
$ tests_i = tests_i + 1
|
||||
$ if tests_e .eqs. "," then goto exit
|
||||
$ write sys$output "---> ''tests_e'"
|
||||
$ gosub 'tests_e'
|
||||
$ goto loop_tests
|
||||
$
|
||||
$ test_evp:
|
||||
$ mcr 'texe_dir''evptest' evptests.txt
|
||||
$ mcr 'texe_dir''evptest' 'ROOT'.CRYPTO.EVP]evptests.txt
|
||||
$ return
|
||||
$ test_des:
|
||||
$ mcr 'texe_dir''destest'
|
||||
@@ -173,27 +180,57 @@ $ @tpkcs7d.com
|
||||
$ deassign sys$error
|
||||
$ return
|
||||
$ test_bn:
|
||||
$ write sys$output "starting big number library test, could take a while..."
|
||||
$ create bntest-vms.fdl
|
||||
$ write sys$output -
|
||||
"starting big number library test, could take a while..."
|
||||
$ set noon
|
||||
$ define sys$error nl:
|
||||
$ define sys$output nl:
|
||||
$ @ bctest.com
|
||||
$ status = $status
|
||||
$ deassign sys$error
|
||||
$ deassign sys$output
|
||||
$ on control_y then goto exit
|
||||
$ on error then goto exit
|
||||
$ if (status)
|
||||
$ then
|
||||
$ create /fdl = sys$input bntest-vms.tmp
|
||||
FILE
|
||||
ORGANIZATION sequential
|
||||
RECORD
|
||||
FORMAT stream_lf
|
||||
$ create/fdl=bntest-vms.fdl bntest-vms.sh
|
||||
$ open/append foo bntest-vms.sh
|
||||
$ type/output=foo: sys$input:
|
||||
$ define /user_mode sys$output bntest-vms.tmp
|
||||
$ mcr 'texe_dir''bntest'
|
||||
$ define /user_mode sys$input bntest-vms.tmp
|
||||
$ define /user_mode sys$output bntest-vms.out
|
||||
$ bc
|
||||
$ @ bntest.com bntest-vms.out
|
||||
$ status = $status
|
||||
$ if (status)
|
||||
$ then
|
||||
$ delete bntest-vms.out;*
|
||||
$ delete bntest-vms.tmp;*
|
||||
$ endif
|
||||
$ else
|
||||
$ create /fdl = sys$input bntest-vms.sh
|
||||
FILE
|
||||
ORGANIZATION sequential
|
||||
RECORD
|
||||
FORMAT stream_lf
|
||||
$ open /append bntest_file bntest-vms.sh
|
||||
$ type /output = bntest_file sys$input:
|
||||
<< __FOO__ sh -c "`sh ./bctest`" | perl -e '$i=0; while (<STDIN>) {if (/^test (.*)/) {print STDERR "\nverify $1";} elsif (!/^0$/) {die "\nFailed! bc: $_";} else {print STDERR "."; $i++;}} print STDERR "\n$i tests passed\n"'
|
||||
$ define/user sys$output bntest-vms.tmp
|
||||
$ mcr 'texe_dir''bntest'
|
||||
$ copy bntest-vms.tmp foo:
|
||||
$ delete bntest-vms.tmp;*
|
||||
$ type/output=foo: sys$input:
|
||||
$ define/user sys$output bntest-vms.tmp
|
||||
$ mcr 'texe_dir''bntest'
|
||||
$ copy bntest-vms.tmp bntest_file
|
||||
$ delete bntest-vms.tmp;*
|
||||
$ type /output = bntest_file sys$input:
|
||||
__FOO__
|
||||
$ close foo
|
||||
$ write sys$output "-- copy the [.test]bntest-vms.sh and [.test]bctest files to a Unix system and"
|
||||
$ write sys$output "-- run bntest-vms.sh through sh or bash to verify that the bignum operations"
|
||||
$ write sys$output "-- went well."
|
||||
$ write sys$output ""
|
||||
$ close bntest_file
|
||||
$ write sys$output "-- copy the [.test]bntest-vms.sh and [.test]bctest files to a Unix system and"
|
||||
$ write sys$output "-- run bntest-vms.sh through sh or bash to verify that the bignum operations"
|
||||
$ write sys$output "-- went well."
|
||||
$ write sys$output ""
|
||||
$ endif
|
||||
$ write sys$output "test a^b%c implementations"
|
||||
$ mcr 'texe_dir''exptest'
|
||||
$ return
|
||||
@@ -289,11 +326,14 @@ $ mcr 'texe_dir''jpaketest'
|
||||
$ return
|
||||
$ test_cms:
|
||||
$ write sys$output "CMS consistency test"
|
||||
$ ! The following makes perl include the DCL symbol table in the env.
|
||||
$ define/user perl_env_tables clisym_local,lnm$file_dev,ctrl_env
|
||||
$ perl CMS-TEST.PL
|
||||
$ return
|
||||
$
|
||||
$
|
||||
$ exit:
|
||||
$ mcr 'exe_dir'openssl version -a
|
||||
$ set default '__save_default'
|
||||
$ deassign sslroot
|
||||
$ exit
|
||||
|
||||
@@ -21,10 +21,10 @@ $ cert=p2
|
||||
$ endif
|
||||
$ ssltest := mcr 'texe_dir'ssltest -key 'key' -cert 'cert' -c_key 'key' -c_cert 'cert'
|
||||
$
|
||||
$ set noon
|
||||
$ define/user sys$output testssl-x509-output.
|
||||
$ define/user sys$error nla0:
|
||||
$ mcr 'exe_dir'openssl x509 -in 'cert' -text -noout
|
||||
$ set noon
|
||||
$ define/user sys$error nla0:
|
||||
$ search/output=nla0: testssl-x509-output. "DSA Public Key"/exact
|
||||
$ if $severity .eq. 1
|
||||
@@ -33,7 +33,6 @@ $ dsa_cert := YES
|
||||
$ else
|
||||
$ dsa_cert := NO
|
||||
$ endif
|
||||
$ set on
|
||||
$ delete testssl-x509-output.;*
|
||||
$
|
||||
$ if p3 .eqs. ""
|
||||
@@ -161,14 +160,12 @@ $ if $severity .ne. 1 then goto exit3
|
||||
$
|
||||
$!###########################################################################
|
||||
$
|
||||
$ set noon
|
||||
$ define/user sys$output nla0:
|
||||
$ mcr 'exe_dir'openssl no-rsa
|
||||
$ no_rsa=$SEVERITY
|
||||
$ define/user sys$output nla0:
|
||||
$ mcr 'exe_dir'openssl no-dh
|
||||
$ no_dh=$SEVERITY
|
||||
$ set on
|
||||
$
|
||||
$ if no_dh
|
||||
$ then
|
||||
@@ -203,4 +200,5 @@ $ exit3:
|
||||
$ RET = 3
|
||||
$ exit:
|
||||
$ if p3 .eqs. "" then delete certs.tmp;*
|
||||
$ set on
|
||||
$ exit 'RET'
|
||||
|
||||
@@ -167,6 +167,8 @@ $ endsubroutine
|
||||
$
|
||||
$ ! Main body ----------------------------------------------------------
|
||||
$
|
||||
$ set noon
|
||||
$
|
||||
$ write sys$output "Setting up TSA test directory..."
|
||||
$ call setup_dir
|
||||
$
|
||||
@@ -245,4 +247,6 @@ $
|
||||
$ write sys$output "Cleaning up..."
|
||||
$ call clean_up_dir
|
||||
$
|
||||
$ set on
|
||||
$
|
||||
$ exit
|
||||
|
||||
Reference in New Issue
Block a user