Update OpenSSL 1.1.1-pre8-dev
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 1.1.1-pre7-dev
|
||||
OpenSSL 1.1.1-pre8-dev
|
||||
|
||||
Copyright (c) 1998-2018 The OpenSSL Project
|
||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||
|
||||
+9
-5
@@ -308,7 +308,7 @@ static int do_dir(const char *dirname, enum Hash h)
|
||||
size_t i;
|
||||
const char *pathsep;
|
||||
const char *filename;
|
||||
char *buf, *copy;
|
||||
char *buf, *copy = NULL;
|
||||
STACK_OF(OPENSSL_STRING) *files = NULL;
|
||||
|
||||
if (app_access(dirname, W_OK) < 0) {
|
||||
@@ -325,13 +325,16 @@ static int do_dir(const char *dirname, enum Hash h)
|
||||
|
||||
if ((files = sk_OPENSSL_STRING_new_null()) == NULL) {
|
||||
BIO_printf(bio_err, "Skipping %s, out of memory\n", dirname);
|
||||
exit(1);
|
||||
errs = 1;
|
||||
goto err;
|
||||
}
|
||||
while ((filename = OPENSSL_DIR_read(&d, dirname)) != NULL) {
|
||||
if ((copy = strdup(filename)) == NULL
|
||||
if ((copy = OPENSSL_strdup(filename)) == NULL
|
||||
|| sk_OPENSSL_STRING_push(files, copy) == 0) {
|
||||
OPENSSL_free(copy);
|
||||
BIO_puts(bio_err, "out of memory\n");
|
||||
exit(1);
|
||||
errs = 1;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
OPENSSL_DIR_end(&d);
|
||||
@@ -349,7 +352,6 @@ static int do_dir(const char *dirname, enum Hash h)
|
||||
continue;
|
||||
errs += do_file(filename, buf, h);
|
||||
}
|
||||
sk_OPENSSL_STRING_pop_free(files, str_free);
|
||||
|
||||
for (i = 0; i < OSSL_NELEM(hash_table); i++) {
|
||||
for (bp = hash_table[i]; bp; bp = nextbp) {
|
||||
@@ -417,6 +419,8 @@ static int do_dir(const char *dirname, enum Hash h)
|
||||
hash_table[i] = NULL;
|
||||
}
|
||||
|
||||
err:
|
||||
sk_OPENSSL_STRING_pop_free(files, str_free);
|
||||
OPENSSL_free(buf);
|
||||
return errs;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+10
-10
@@ -178,8 +178,8 @@ int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
|
||||
|
||||
bits = BN_num_bits(p);
|
||||
if (bits == 0) {
|
||||
/* x**0 mod 1 is still zero. */
|
||||
if (BN_is_one(m)) {
|
||||
/* x**0 mod 1, or x**0 mod -1 is still zero. */
|
||||
if (BN_abs_is_word(m, 1)) {
|
||||
ret = 1;
|
||||
BN_zero(r);
|
||||
} else {
|
||||
@@ -320,8 +320,8 @@ int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
|
||||
}
|
||||
bits = BN_num_bits(p);
|
||||
if (bits == 0) {
|
||||
/* x**0 mod 1 is still zero. */
|
||||
if (BN_is_one(m)) {
|
||||
/* x**0 mod 1, or x**0 mod -1 is still zero. */
|
||||
if (BN_abs_is_word(m, 1)) {
|
||||
ret = 1;
|
||||
BN_zero(rr);
|
||||
} else {
|
||||
@@ -629,8 +629,8 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
|
||||
*/
|
||||
bits = p->top * BN_BITS2;
|
||||
if (bits == 0) {
|
||||
/* x**0 mod 1 is still zero. */
|
||||
if (BN_is_one(m)) {
|
||||
/* x**0 mod 1, or x**0 mod -1 is still zero. */
|
||||
if (BN_abs_is_word(m, 1)) {
|
||||
ret = 1;
|
||||
BN_zero(rr);
|
||||
} else {
|
||||
@@ -1143,8 +1143,8 @@ int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,
|
||||
|
||||
bits = BN_num_bits(p);
|
||||
if (bits == 0) {
|
||||
/* x**0 mod 1 is still zero. */
|
||||
if (BN_is_one(m)) {
|
||||
/* x**0 mod 1, or x**0 mod -1 is still zero. */
|
||||
if (BN_abs_is_word(m, 1)) {
|
||||
ret = 1;
|
||||
BN_zero(rr);
|
||||
} else {
|
||||
@@ -1265,8 +1265,8 @@ int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
|
||||
|
||||
bits = BN_num_bits(p);
|
||||
if (bits == 0) {
|
||||
/* x**0 mod 1 is still zero. */
|
||||
if (BN_is_one(m)) {
|
||||
/* x**0 mod 1, or x**0 mod -1 is still zero. */
|
||||
if (BN_abs_is_word(m, 1)) {
|
||||
ret = 1;
|
||||
BN_zero(r);
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright (c) 2012, Intel Corporation. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+26
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@@ -305,6 +305,31 @@ int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
|
||||
return 1;
|
||||
}
|
||||
|
||||
const BIGNUM *DSA_get0_p(const DSA *d)
|
||||
{
|
||||
return d->p;
|
||||
}
|
||||
|
||||
const BIGNUM *DSA_get0_q(const DSA *d)
|
||||
{
|
||||
return d->q;
|
||||
}
|
||||
|
||||
const BIGNUM *DSA_get0_g(const DSA *d)
|
||||
{
|
||||
return d->g;
|
||||
}
|
||||
|
||||
const BIGNUM *DSA_get0_pub_key(const DSA *d)
|
||||
{
|
||||
return d->pub_key;
|
||||
}
|
||||
|
||||
const BIGNUM *DSA_get0_priv_key(const DSA *d)
|
||||
{
|
||||
return d->priv_key;
|
||||
}
|
||||
|
||||
void DSA_clear_flags(DSA *d, int flags)
|
||||
{
|
||||
d->flags &= ~flags;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
|
||||
@@ -1183,6 +1183,16 @@ void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
|
||||
*ps = sig->s;
|
||||
}
|
||||
|
||||
const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig)
|
||||
{
|
||||
return sig->r;
|
||||
}
|
||||
|
||||
const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig)
|
||||
{
|
||||
return sig->s;
|
||||
}
|
||||
|
||||
int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
|
||||
{
|
||||
if (r == NULL || s == NULL)
|
||||
|
||||
@@ -124,7 +124,7 @@ static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
|
||||
|
||||
if (ec_nid == NID_sm2) {
|
||||
#if defined(OPENSSL_NO_SM2)
|
||||
ret = -1;
|
||||
return -1;
|
||||
#else
|
||||
ret = SM2_sign(type, tbs, tbslen, sig, &sltmp, ec);
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+41
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@@ -402,6 +402,46 @@ int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],
|
||||
return 1;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_n(const RSA *r)
|
||||
{
|
||||
return r->n;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_e(const RSA *r)
|
||||
{
|
||||
return r->e;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_d(const RSA *r)
|
||||
{
|
||||
return r->d;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_p(const RSA *r)
|
||||
{
|
||||
return r->p;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_q(const RSA *r)
|
||||
{
|
||||
return r->q;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_dmp1(const RSA *r)
|
||||
{
|
||||
return r->dmp1;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_dmq1(const RSA *r)
|
||||
{
|
||||
return r->dmq1;
|
||||
}
|
||||
|
||||
const BIGNUM *RSA_get0_iqmp(const RSA *r)
|
||||
{
|
||||
return r->iqmp;
|
||||
}
|
||||
|
||||
void RSA_clear_flags(RSA *r, int flags)
|
||||
{
|
||||
r->flags &= ~flags;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env perl
|
||||
# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env perl
|
||||
# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2003-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2003-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -734,7 +734,7 @@ The -no_alt_chains options was first added to OpenSSL 1.0.2b.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2008-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+29
-4
@@ -667,10 +667,35 @@ on port 4433.
|
||||
|
||||
If a connection is established with an SSL server then any data received
|
||||
from the server is displayed and any key presses will be sent to the
|
||||
server. When used interactively (which means neither B<-quiet> nor B<-ign_eof>
|
||||
have been given), the session will be renegotiated if the line begins with an
|
||||
B<R>, and if the line begins with a B<Q> or if end of file is reached, the
|
||||
connection will be closed down.
|
||||
server. If end of file is reached then the connection will be closed down. When
|
||||
used interactively (which means neither B<-quiet> nor B<-ign_eof> have been
|
||||
given), then certain commands are also recognized which perform special
|
||||
operations. These commands are a letter which must appear at the start of a
|
||||
line. They are listed below.
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<Q>
|
||||
|
||||
End the current SSL connection and exit.
|
||||
|
||||
=item B<R>
|
||||
|
||||
Renegotiate the SSL session (TLSv1.2 and below only).
|
||||
|
||||
=item B<B>
|
||||
|
||||
Send a heartbeat message to the server (DTLS only)
|
||||
|
||||
=item B<k>
|
||||
|
||||
Send a key update message to the server (TLSv1.3 only)
|
||||
|
||||
=item B<K>
|
||||
|
||||
Send a key update message to the server and request one back (TLSv1.3 only)
|
||||
|
||||
=back
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
|
||||
+22
-4
@@ -673,8 +673,9 @@ If a connection request is established with an SSL client and neither the
|
||||
B<-www> nor the B<-WWW> option has been used then normally any data received
|
||||
from the client is displayed and any key presses will be sent to the client.
|
||||
|
||||
Certain single letter commands are also recognized which perform special
|
||||
operations: these are listed below.
|
||||
Certain commands are also recognized which perform special operations. These
|
||||
commands are a letter which must appear at the start of a line. They are listed
|
||||
below.
|
||||
|
||||
=over 4
|
||||
|
||||
@@ -688,11 +689,12 @@ End the current SSL connection and exit.
|
||||
|
||||
=item B<r>
|
||||
|
||||
Renegotiate the SSL session.
|
||||
Renegotiate the SSL session (TLSv1.2 and below only).
|
||||
|
||||
=item B<R>
|
||||
|
||||
Renegotiate the SSL session and request a client certificate.
|
||||
Renegotiate the SSL session and request a client certificate (TLSv1.2 and below
|
||||
only).
|
||||
|
||||
=item B<P>
|
||||
|
||||
@@ -703,6 +705,22 @@ cause the client to disconnect due to a protocol violation.
|
||||
|
||||
Print out some session cache status information.
|
||||
|
||||
=item B<B>
|
||||
|
||||
Send a heartbeat message to the client (DTLS only)
|
||||
|
||||
=item B<k>
|
||||
|
||||
Send a key update message to the client (TLSv1.3 only)
|
||||
|
||||
=item B<K>
|
||||
|
||||
Send a key update message to the client and request one back (TLSv1.3 only)
|
||||
|
||||
=item B<c>
|
||||
|
||||
Send a certificate request to the client (TLSv1.3 only)
|
||||
|
||||
=back
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
+1
-1
@@ -119,7 +119,7 @@ L<BN_add_word(3)>, L<BN_set_bit(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -94,7 +94,7 @@ The B<CMS_STREAM> flag was first supported in OpenSSL 1.0.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -80,7 +80,7 @@ L<ERR_get_error(3)>, L<CMS_verify(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -68,7 +68,7 @@ L<CMS_verify_receipt(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -41,6 +41,8 @@ If the parameters have not yet been set then B<*p>, B<*q> and B<*g> will be set
|
||||
to NULL. Otherwise they are set to pointers to their respective values. These
|
||||
point directly to the internal representations of the values and therefore
|
||||
should not be freed directly.
|
||||
Any of the out parameters B<p>, B<q>, and B<g> can be NULL, in which case no
|
||||
value will be returned for that parameter.
|
||||
|
||||
The B<p>, B<q> and B<g> values can be set by calling DH_set0_pqg() and passing
|
||||
the new values for B<p>, B<q> and B<g> as parameters to the function. Calling
|
||||
@@ -54,6 +56,8 @@ private key will be stored in B<*priv_key>. Either may be NULL if they have not
|
||||
been set yet, although if the private key has been set then the public key must
|
||||
be. The values point to the internal representation of the public key and
|
||||
private key values. This memory should not be freed directly.
|
||||
Any of the out parameters B<pub_key> and B<priv_key> can be NULL, in which case
|
||||
no value will be returned for that parameter.
|
||||
|
||||
The public and private key values can be set using DH_set0_key(). Either
|
||||
parameter may be NULL, which means the corresponding DH field is left
|
||||
@@ -93,7 +97,7 @@ duplicate. The same applies to DH_get0_pqg() and DH_set0_pqg().
|
||||
DH_set0_pqg() and DH_set0_key() return 1 on success or 0 on failure.
|
||||
|
||||
DH_get0_p(), DH_get0_q(), DH_get0_g(), DH_get0_priv_key(), and DH_get0_pub_key()
|
||||
return the respective value.
|
||||
return the respective value, or NULL if it is unset.
|
||||
|
||||
DH_test_flags() returns the current state of the flags in the DH object.
|
||||
|
||||
@@ -114,7 +118,7 @@ The functions described here were added in OpenSSL 1.1.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -2,8 +2,11 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key, DSA_clear_flags,
|
||||
DSA_test_flags, DSA_set_flags, DSA_get0_engine - Routines for getting and
|
||||
DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key,
|
||||
DSA_get0_p, DSA_get0_q, DSA_get0_g,
|
||||
DSA_get0_pub_key, DSA_get0_priv_key,
|
||||
DSA_clear_flags, DSA_test_flags, DSA_set_flags,
|
||||
DSA_get0_engine - Routines for getting and
|
||||
setting data in a DSA object
|
||||
|
||||
=head1 SYNOPSIS
|
||||
@@ -16,6 +19,11 @@ setting data in a DSA object
|
||||
void DSA_get0_key(const DSA *d,
|
||||
const BIGNUM **pub_key, const BIGNUM **priv_key);
|
||||
int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
|
||||
const BIGNUM *DSA_get0_p(const DSA *d);
|
||||
const BIGNUM *DSA_get0_q(const DSA *d);
|
||||
const BIGNUM *DSA_get0_g(const DSA *d);
|
||||
const BIGNUM *DSA_get0_pub_key(const DSA *d);
|
||||
const BIGNUM *DSA_get0_priv_key(const DSA *d);
|
||||
void DSA_clear_flags(DSA *d, int flags);
|
||||
int DSA_test_flags(const DSA *d, int flags);
|
||||
void DSA_set_flags(DSA *d, int flags);
|
||||
@@ -53,6 +61,10 @@ this function transfers the memory management of the key values to the DSA
|
||||
object, and therefore they should not be freed directly after this function has
|
||||
been called.
|
||||
|
||||
Any of the values B<p>, B<q>, B<g>, B<priv_key>, and B<pub_key> can also be
|
||||
retrieved separately by the corresponding function DSA_get0_p(), DSA_get0_q(),
|
||||
DSA_get0_g(), DSA_get0_priv_key(), and DSA_get0_pub_key(), respectively.
|
||||
|
||||
DSA_set_flags() sets the flags in the B<flags> parameter on the DSA object.
|
||||
Multiple flags can be passed in one go (bitwise ORed together). Any flags that
|
||||
are already set are left set. DSA_test_flags() tests to see whether the flags
|
||||
@@ -92,7 +104,7 @@ The functions described here were added in OpenSSL 1.1.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ECDSA_SIG_get0, ECDSA_SIG_set0,
|
||||
ECDSA_SIG_get0, ECDSA_SIG_get0_r, ECDSA_SIG_get0_s, ECDSA_SIG_set0,
|
||||
ECDSA_SIG_new, ECDSA_SIG_free, i2d_ECDSA_SIG, d2i_ECDSA_SIG, ECDSA_size,
|
||||
ECDSA_sign, ECDSA_do_sign, ECDSA_verify, ECDSA_do_verify, ECDSA_sign_setup,
|
||||
ECDSA_sign_ex, ECDSA_do_sign_ex - low level elliptic curve digital signature
|
||||
@@ -15,6 +15,8 @@ algorithm (ECDSA) functions
|
||||
ECDSA_SIG *ECDSA_SIG_new(void);
|
||||
void ECDSA_SIG_free(ECDSA_SIG *sig);
|
||||
void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
|
||||
const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig);
|
||||
const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig);
|
||||
int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
|
||||
int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp);
|
||||
ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len);
|
||||
@@ -53,7 +55,12 @@ OpenSSL 1.1.0 the: the B<r> and B<s> components were initialised.
|
||||
ECDSA_SIG_free() frees the B<ECDSA_SIG> structure B<sig>.
|
||||
|
||||
ECDSA_SIG_get0() returns internal pointers the B<r> and B<s> values contained
|
||||
in B<sig>.
|
||||
in B<sig> and stores them in B<*pr> and B<*ps>, respectively.
|
||||
The pointer B<pr> or B<ps> can be NULL, in which case the corresponding value
|
||||
is not returned.
|
||||
|
||||
The values B<r>, B<s> can also be retrieved separately by the corresponding
|
||||
function ECDSA_SIG_get0_r() and ECDSA_SIG_get0_s(), respectively.
|
||||
|
||||
The B<r> and B<s> values can be set by calling ECDSA_SIG_set0() and passing the
|
||||
new values for B<r> and B<s> as parameters to the function. Calling this
|
||||
@@ -116,6 +123,9 @@ returned as a newly allocated B<ECDSA_SIG> structure (or NULL on error).
|
||||
|
||||
ECDSA_SIG_set0() returns 1 on success or 0 on failure.
|
||||
|
||||
ECDSA_SIG_get0_r() and ECDSA_SIG_get0_s() return the corresponding value,
|
||||
or NULL if it is unset.
|
||||
|
||||
ECDSA_size() returns the maximum length signature or 0 on error.
|
||||
|
||||
ECDSA_sign(), ECDSA_sign_ex() and ECDSA_sign_setup() return 1 if successful
|
||||
@@ -194,7 +204,7 @@ L<EVP_DigestVerifyInit(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -76,7 +76,7 @@ L<EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -156,7 +156,7 @@ L<EVP_PKEY_derive(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -180,7 +180,7 @@ and should not be used.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -76,7 +76,7 @@ PEM_bytes_read_bio_secmem() was introduced in OpenSSL 1.1.1
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -122,7 +122,7 @@ L<passphrase-encoding(7)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -94,7 +94,7 @@ L<passphrase-encoding(7)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -295,7 +295,7 @@ for it twice) if B<rwflag> is 1. The B<u> parameter has the same
|
||||
value as the B<u> parameter passed to the PEM routine. It allows
|
||||
arbitrary data to be passed to the callback by the application
|
||||
(for example a window handle in a GUI application). The callback
|
||||
B<must> return the number of characters in the passphrase or 0 if
|
||||
B<must> return the number of characters in the passphrase or -1 if
|
||||
an error occurred.
|
||||
|
||||
=head1 EXAMPLES
|
||||
@@ -346,17 +346,16 @@ Skeleton pass phrase callback:
|
||||
|
||||
int pass_cb(char *buf, int size, int rwflag, void *u)
|
||||
{
|
||||
int len;
|
||||
char *tmp;
|
||||
|
||||
/* We'd probably do something else if 'rwflag' is 1 */
|
||||
printf("Enter pass phrase for \"%s\"\n", (char *)u);
|
||||
|
||||
/* get pass phrase, length 'len' into 'tmp' */
|
||||
tmp = "hello";
|
||||
len = strlen(tmp);
|
||||
if (len <= 0)
|
||||
return 0;
|
||||
char *tmp = "hello";
|
||||
if (tmp == NULL) /* An error occurred */
|
||||
return -1;
|
||||
|
||||
size_t len = strlen(tmp);
|
||||
|
||||
if (len > size)
|
||||
len = size;
|
||||
|
||||
@@ -107,7 +107,7 @@ L<passphrase-encoding(7)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -62,7 +62,7 @@ L<passphrase-encoding(7)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -67,7 +67,7 @@ L<passphrase-encoding(7)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
=head1 NAME
|
||||
|
||||
RSA_set0_key, RSA_set0_factors, RSA_set0_crt_params, RSA_get0_key,
|
||||
RSA_get0_factors, RSA_get0_crt_params, RSA_clear_flags,
|
||||
RSA_get0_factors, RSA_get0_crt_params,
|
||||
RSA_get0_n, RSA_get0_e, RSA_get0_d, RSA_get0_p, RSA_get0_q,
|
||||
RSA_get0_dmp1, RSA_get0_dmq1, RSA_get0_iqmp,
|
||||
RSA_clear_flags,
|
||||
RSA_test_flags, RSA_set_flags, RSA_get0_engine, RSA_get_multi_prime_extra_count,
|
||||
RSA_get0_multi_prime_factors, RSA_get0_multi_prime_crt_params,
|
||||
RSA_set0_multi_prime_params, RSA_get_version
|
||||
@@ -22,6 +25,14 @@ RSA_set0_multi_prime_params, RSA_get_version
|
||||
void RSA_get0_crt_params(const RSA *r,
|
||||
const BIGNUM **dmp1, const BIGNUM **dmq1,
|
||||
const BIGNUM **iqmp);
|
||||
const BIGNUM *RSA_get0_n(const RSA *d);
|
||||
const BIGNUM *RSA_get0_e(const RSA *d);
|
||||
const BIGNUM *RSA_get0_d(const RSA *d);
|
||||
const BIGNUM *RSA_get0_p(const RSA *d);
|
||||
const BIGNUM *RSA_get0_q(const RSA *d);
|
||||
const BIGNUM *RSA_get0_dmp1(const RSA *r);
|
||||
const BIGNUM *RSA_get0_dmq1(const RSA *r);
|
||||
const BIGNUM *RSA_get0_iqmp(const RSA *r);
|
||||
void RSA_clear_flags(RSA *r, int flags);
|
||||
int RSA_test_flags(const RSA *r, int flags);
|
||||
void RSA_set_flags(RSA *r, int flags);
|
||||
@@ -82,6 +93,11 @@ return values are stored in an array of B<BIGNUM *>. RSA_set0_multi_prime_params
|
||||
sets a collect of multi-prime 'triplet' members (prime, exponent and coefficient)
|
||||
into an RSA object.
|
||||
|
||||
Any of the values B<n>, B<e>, B<d>, B<p>, B<q>, B<dmp1>, B<dmq1>, and B<iqmp> can also be
|
||||
retrieved separately by the corresponding function
|
||||
RSA_get0_n(), RSA_get0_e(), RSA_get0_d(), RSA_get0_p(), RSA_get0_q(),
|
||||
RSA_get0_dmp1(), RSA_get0_dmq1(), and RSA_get0_iqmp(), respectively.
|
||||
|
||||
RSA_set_flags() sets the flags in the B<flags> parameter on the RSA
|
||||
object. Multiple flags can be passed in one go (bitwise ORed together).
|
||||
Any flags that are already set are left set. RSA_test_flags() tests to
|
||||
@@ -116,6 +132,10 @@ triplets in RSA object B<r> and assign the new set of triplets into it.
|
||||
RSA_set0_key(), RSA_set0_factors(), RSA_set0_crt_params() and
|
||||
RSA_set0_multi_prime_params() return 1 on success or 0 on failure.
|
||||
|
||||
RSA_get0_n(), RSA_get0_e(), RSA_get0_d(), RSA_get0_p(), RSA_get0_q(),
|
||||
RSA_get0_dmp1(), RSA_get0_dmq1(), and RSA_get0_iqmp()
|
||||
return the respective value.
|
||||
|
||||
RSA_get0_multi_prime_factors() and RSA_get0_multi_prime_crt_params() return
|
||||
1 on success or 0 on failure.
|
||||
|
||||
@@ -145,7 +165,7 @@ Other functions described here were added in OpenSSL 1.1.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -68,7 +68,7 @@ L<PKCS7_decrypt(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2002-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -87,7 +87,7 @@ L<SSL_CTX_new(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -107,7 +107,7 @@ L<SSL_CIPHER_get_name(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -108,7 +108,7 @@ These functions were first added to OpenSSL 1.1.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -112,7 +112,7 @@ L<ERR_get_error(3)>, L<d2i_X509_NAME(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -51,7 +51,7 @@ ASN1_TIME structure, and NULL on error.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the OpenSSL license (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -171,6 +171,11 @@ int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
|
||||
void DSA_get0_key(const DSA *d,
|
||||
const BIGNUM **pub_key, const BIGNUM **priv_key);
|
||||
int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
|
||||
const BIGNUM *DSA_get0_p(const DSA *d);
|
||||
const BIGNUM *DSA_get0_q(const DSA *d);
|
||||
const BIGNUM *DSA_get0_g(const DSA *d);
|
||||
const BIGNUM *DSA_get0_pub_key(const DSA *d);
|
||||
const BIGNUM *DSA_get0_priv_key(const DSA *d);
|
||||
void DSA_clear_flags(DSA *d, int flags);
|
||||
int DSA_test_flags(const DSA *d, int flags);
|
||||
void DSA_set_flags(DSA *d, int flags);
|
||||
|
||||
+12
-2
@@ -1060,14 +1060,24 @@ int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp);
|
||||
ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len);
|
||||
|
||||
/** Accessor for r and s fields of ECDSA_SIG
|
||||
* \param sig pointer to ECDSA_SIG pointer
|
||||
* \param sig pointer to ECDSA_SIG structure
|
||||
* \param pr pointer to BIGNUM pointer for r (may be NULL)
|
||||
* \param ps pointer to BIGNUM pointer for s (may be NULL)
|
||||
*/
|
||||
void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
|
||||
|
||||
/** Accessor for r field of ECDSA_SIG
|
||||
* \param sig pointer to ECDSA_SIG structure
|
||||
*/
|
||||
const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig);
|
||||
|
||||
/** Accessor for s field of ECDSA_SIG
|
||||
* \param sig pointer to ECDSA_SIG structure
|
||||
*/
|
||||
const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig);
|
||||
|
||||
/** Setter for r and s fields of ECDSA_SIG
|
||||
* \param sig pointer to ECDSA_SIG pointer
|
||||
* \param sig pointer to ECDSA_SIG structure
|
||||
* \param r pointer to BIGNUM for r (may be NULL)
|
||||
* \param s pointer to BIGNUM for s (may be NULL)
|
||||
*/
|
||||
|
||||
@@ -39,8 +39,8 @@ extern "C" {
|
||||
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
||||
* major minor fix final patch/beta)
|
||||
*/
|
||||
# define OPENSSL_VERSION_NUMBER 0x10101007L
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1-pre7-dev xx XXX xxxx"
|
||||
# define OPENSSL_VERSION_NUMBER 0x10101008L
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1-pre8-dev xx XXX xxxx"
|
||||
|
||||
/*-
|
||||
* The macros below are to be used for shared library (.so, .dll, ...)
|
||||
|
||||
@@ -216,6 +216,14 @@ void RSA_get0_crt_params(const RSA *r,
|
||||
const BIGNUM **iqmp);
|
||||
int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],
|
||||
const BIGNUM *coeffs[]);
|
||||
const BIGNUM *RSA_get0_n(const RSA *d);
|
||||
const BIGNUM *RSA_get0_e(const RSA *d);
|
||||
const BIGNUM *RSA_get0_d(const RSA *d);
|
||||
const BIGNUM *RSA_get0_p(const RSA *d);
|
||||
const BIGNUM *RSA_get0_q(const RSA *d);
|
||||
const BIGNUM *RSA_get0_dmp1(const RSA *r);
|
||||
const BIGNUM *RSA_get0_dmq1(const RSA *r);
|
||||
const BIGNUM *RSA_get0_iqmp(const RSA *r);
|
||||
void RSA_clear_flags(RSA *r, int flags);
|
||||
int RSA_test_flags(const RSA *r, int flags);
|
||||
void RSA_set_flags(RSA *r, int flags);
|
||||
|
||||
@@ -174,12 +174,12 @@ extern "C" {
|
||||
# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL"
|
||||
/* This is the default set of TLSv1.3 ciphersuites */
|
||||
# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
|
||||
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_128_GCM_SHA256:" \
|
||||
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
|
||||
"TLS_CHACHA20_POLY1305_SHA256:" \
|
||||
"TLS_AES_256_GCM_SHA384"
|
||||
"TLS_AES_128_GCM_SHA256"
|
||||
# else
|
||||
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_128_GCM_SHA256:" \
|
||||
"TLS_AES_256_GCM_SHA384"
|
||||
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
|
||||
"TLS_AES_128_GCM_SHA256"
|
||||
#endif
|
||||
/*
|
||||
* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+18
-14
@@ -31,7 +31,23 @@ const unsigned char tls12downgrade[] = {
|
||||
};
|
||||
|
||||
/* The list of available TLSv1.3 ciphers */
|
||||
/* Since nginx can not set the TLS 1.3 cipher, remove it temporarily. */
|
||||
static SSL_CIPHER tls13_ciphers[] = {
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* The list of available ciphers, mostly organized into the following
|
||||
* groups:
|
||||
* Always there
|
||||
* EC
|
||||
* PSK
|
||||
* SRP (within that: RSA EC PSK)
|
||||
* Cipher families: Chacha/poly, Camellia, Gost, IDEA, SEED
|
||||
* Weak ciphers
|
||||
*/
|
||||
static SSL_CIPHER ssl3_ciphers[] = {
|
||||
/* TLSv1.3 ciphers */
|
||||
{
|
||||
1,
|
||||
TLS1_3_RFC_AES_128_GCM_SHA256,
|
||||
@@ -111,20 +127,8 @@ static SSL_CIPHER tls13_ciphers[] = {
|
||||
SSL_HANDSHAKE_MAC_SHA256,
|
||||
128,
|
||||
128,
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* The list of available ciphers, mostly organized into the following
|
||||
* groups:
|
||||
* Always there
|
||||
* EC
|
||||
* PSK
|
||||
* SRP (within that: RSA EC PSK)
|
||||
* Cipher families: Chacha/poly, Camellia, Gost, IDEA, SEED
|
||||
* Weak ciphers
|
||||
*/
|
||||
static SSL_CIPHER ssl3_ciphers[] = {
|
||||
},
|
||||
/* List of cipher below TLSv1.3 */
|
||||
{
|
||||
1,
|
||||
SSL3_TXT_RSA_NULL_MD5,
|
||||
|
||||
+7
-20
@@ -295,6 +295,7 @@ static const SSL_CIPHER cipher_aliases[] = {
|
||||
{0, SSL_TXT_TLSV1, NULL, 0, 0, 0, 0, 0, TLS1_VERSION},
|
||||
{0, "TLSv1.0", NULL, 0, 0, 0, 0, 0, TLS1_VERSION},
|
||||
{0, SSL_TXT_TLSV1_2, NULL, 0, 0, 0, 0, 0, TLS1_2_VERSION},
|
||||
{0, "TLS13", NULL, 0, 0, 0, 0, 0, TLS1_3_VERSION},
|
||||
|
||||
/* strength classes */
|
||||
{0, SSL_TXT_LOW, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_LOW},
|
||||
@@ -1063,7 +1064,7 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
|
||||
while (((ch >= 'A') && (ch <= 'Z')) ||
|
||||
((ch >= '0') && (ch <= '9')) ||
|
||||
((ch >= 'a') && (ch <= 'z')) ||
|
||||
(ch == '-') || (ch == '.') || (ch == '='))
|
||||
(ch == '-') || (ch == '.') || (ch == '=') || (ch == '_'))
|
||||
#else
|
||||
while (isalnum((unsigned char)ch) || (ch == '-') || (ch == '.')
|
||||
|| (ch == '='))
|
||||
@@ -1465,12 +1466,12 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method,
|
||||
const char *rule_str,
|
||||
CERT *c)
|
||||
{
|
||||
int ok, num_of_ciphers, num_of_alias_max, num_of_group_aliases, i, tls13_len;
|
||||
int ok, num_of_ciphers, num_of_alias_max, num_of_group_aliases;
|
||||
uint32_t disabled_mkey, disabled_auth, disabled_enc, disabled_mac;
|
||||
STACK_OF(SSL_CIPHER) *cipherstack = NULL;
|
||||
const char *rule_p;
|
||||
CIPHER_ORDER *co_list = NULL, *head = NULL, *tail = NULL, *curr;
|
||||
const SSL_CIPHER **ca_list = NULL, *tmp = NULL;
|
||||
const SSL_CIPHER **ca_list = NULL;
|
||||
uint8_t *in_group_flags = NULL;
|
||||
unsigned int num_in_group_flags = 0;
|
||||
struct ssl_cipher_preference_list_st *pref_list = NULL;
|
||||
@@ -1602,6 +1603,9 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method,
|
||||
ssl_cipher_apply_rule(0, SSL_kDHE | SSL_kECDHE, 0, 0, SSL_AEAD, 0, 0,
|
||||
CIPHER_BUMP, -1, 0, &head, &tail);
|
||||
|
||||
ssl_cipher_apply_rule(0, 0, 0, 0, 0, TLS1_3_VERSION, 0, CIPHER_BUMP, -1, 0,
|
||||
&head, &tail);
|
||||
|
||||
/* Now disable everything (maintaining the ordering!) */
|
||||
ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_DEL, -1, 0, &head, &tail);
|
||||
|
||||
@@ -1657,23 +1661,6 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method,
|
||||
if (!in_group_flags)
|
||||
goto err;
|
||||
|
||||
/* Add TLSv1.3 ciphers first - we always prefer those if possible */
|
||||
tls13_len = sk_SSL_CIPHER_num(tls13_ciphersuites);
|
||||
for (i = 0; i < tls13_len; i++) {
|
||||
tmp = sk_SSL_CIPHER_value(tls13_ciphersuites, i);
|
||||
if (!sk_SSL_CIPHER_push(cipherstack,
|
||||
tmp))
|
||||
goto err;
|
||||
/* Temporary - AES128, CHACHA20 priority adjustment of TLS 1.3. */
|
||||
if (tmp->algorithm_enc == SSL_AES128GCM &&
|
||||
tls13_len > (i + 1)) {
|
||||
tmp = sk_SSL_CIPHER_value(tls13_ciphersuites, i + 1);
|
||||
in_group_flags[num_in_group_flags++] = (tmp->algorithm_enc == SSL_CHACHA20POLY1305) ? 1 : 0;
|
||||
}
|
||||
else
|
||||
in_group_flags[num_in_group_flags++] = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* The cipher selection for the list is done. The ciphers are added
|
||||
* to the resulting precedence to the STACK_OF(SSL_CIPHER).
|
||||
|
||||
+2
-1
@@ -204,7 +204,8 @@ SSL_SESSION *ssl_session_dup(SSL_SESSION *src, int ticket)
|
||||
if (src->ext.supportedgroups) {
|
||||
dest->ext.supportedgroups =
|
||||
OPENSSL_memdup(src->ext.supportedgroups,
|
||||
src->ext.supportedgroups_len);
|
||||
src->ext.supportedgroups_len
|
||||
* sizeof(*src->ext.supportedgroups));
|
||||
if (dest->ext.supportedgroups == NULL)
|
||||
goto err;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2005 Nokia. All rights reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -2063,6 +2063,53 @@ err:
|
||||
return st;
|
||||
}
|
||||
|
||||
static int test_expmodone(void)
|
||||
{
|
||||
int ret = 0, i;
|
||||
BIGNUM *r = BN_new();
|
||||
BIGNUM *a = BN_new();
|
||||
BIGNUM *p = BN_new();
|
||||
BIGNUM *m = BN_new();
|
||||
|
||||
if (!TEST_ptr(r)
|
||||
|| !TEST_ptr(a)
|
||||
|| !TEST_ptr(p)
|
||||
|| !TEST_ptr(p)
|
||||
|| !TEST_ptr(m)
|
||||
|| !TEST_true(BN_set_word(a, 1))
|
||||
|| !TEST_true(BN_set_word(p, 0))
|
||||
|| !TEST_true(BN_set_word(m, 1)))
|
||||
goto err;
|
||||
|
||||
/* Calculate r = 1 ^ 0 mod 1, and check the result is always 0 */
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (!TEST_true(BN_mod_exp(r, a, p, m, NULL))
|
||||
|| !TEST_BN_eq_zero(r)
|
||||
|| !TEST_true(BN_mod_exp_mont(r, a, p, m, NULL, NULL))
|
||||
|| !TEST_BN_eq_zero(r)
|
||||
|| !TEST_true(BN_mod_exp_mont_consttime(r, a, p, m, NULL, NULL))
|
||||
|| !TEST_BN_eq_zero(r)
|
||||
|| !TEST_true(BN_mod_exp_mont_word(r, 1, p, m, NULL, NULL))
|
||||
|| !TEST_BN_eq_zero(r)
|
||||
|| !TEST_true(BN_mod_exp_simple(r, a, p, m, NULL))
|
||||
|| !TEST_BN_eq_zero(r)
|
||||
|| !TEST_true(BN_mod_exp_recp(r, a, p, m, NULL))
|
||||
|| !TEST_BN_eq_zero(r))
|
||||
goto err;
|
||||
/* Repeat for r = 1 ^ 0 mod -1 */
|
||||
if (i == 0)
|
||||
BN_set_negative(m, 1);
|
||||
}
|
||||
|
||||
ret = 1;
|
||||
err:
|
||||
BN_free(r);
|
||||
BN_free(a);
|
||||
BN_free(p);
|
||||
BN_free(m);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int test_smallprime(void)
|
||||
{
|
||||
static const int kBits = 10;
|
||||
@@ -2189,6 +2236,7 @@ int setup_tests(void)
|
||||
ADD_TEST(test_negzero);
|
||||
ADD_TEST(test_badmod);
|
||||
ADD_TEST(test_expmodzero);
|
||||
ADD_TEST(test_expmodone);
|
||||
ADD_TEST(test_smallprime);
|
||||
ADD_TEST(test_swap);
|
||||
#ifndef OPENSSL_NO_EC2M
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2015-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user