Compare commits
64 Commits
OpenSSL_0_
...
OpenSSL_0_
Author | SHA1 | Date | |
---|---|---|---|
![]() |
51d355fac2 | ||
![]() |
3d37d5e24a | ||
![]() |
2728a1b4f3 | ||
![]() |
adb040d4cb | ||
![]() |
479d7934c0 | ||
![]() |
22d1acd5ac | ||
![]() |
b257c152c6 | ||
![]() |
77b97ee0d7 | ||
![]() |
e2ac4732cd | ||
![]() |
e8f665b495 | ||
![]() |
55f3ef29ea | ||
![]() |
c2d78c9623 | ||
![]() |
a4578a5413 | ||
![]() |
e884fcf785 | ||
![]() |
a2c32e2d7f | ||
![]() |
80b168a5a9 | ||
![]() |
e96025755d | ||
![]() |
9426364be9 | ||
![]() |
c9028b0ab5 | ||
![]() |
b4d2858f95 | ||
![]() |
dea446d995 | ||
![]() |
5cd94f9e9d | ||
![]() |
429168e7ee | ||
![]() |
499fca2db3 | ||
![]() |
cad811fc41 | ||
![]() |
a28a5d9c62 | ||
![]() |
3f791ca818 | ||
![]() |
69f6a9f007 | ||
![]() |
4eeee0c59f | ||
![]() |
a5afa6c95f | ||
![]() |
625dacb93d | ||
![]() |
62e9c2e091 | ||
![]() |
e4106a4e24 | ||
![]() |
0ebfcc8f92 | ||
![]() |
c61f571ce0 | ||
![]() |
a506b8c7dd | ||
![]() |
e5cd536894 | ||
![]() |
60192e96b8 | ||
![]() |
629ea39a88 | ||
![]() |
7d9e1321c7 | ||
![]() |
83af7422a0 | ||
![]() |
85991994df | ||
![]() |
b325518f45 | ||
![]() |
b172dec864 | ||
![]() |
61391e2314 | ||
![]() |
4b23506594 | ||
![]() |
82d3dda8a1 | ||
![]() |
fe8bf9560d | ||
![]() |
e4c9b85e65 | ||
![]() |
447aa49007 | ||
![]() |
fe977f7512 | ||
![]() |
e476f94212 | ||
![]() |
bbbd67108f | ||
![]() |
7f246621b5 | ||
![]() |
b67d988915 | ||
![]() |
851e31ff07 | ||
![]() |
decc9ffc18 | ||
![]() |
3f4657d131 | ||
![]() |
67ffa18cce | ||
![]() |
788e67e227 | ||
![]() |
c50226594d | ||
![]() |
51ff6bde38 | ||
![]() |
28e4fe34e4 | ||
![]() |
c800a070b5 |
14
CHANGES
14
CHANGES
@@ -4,6 +4,13 @@
|
||||
|
||||
Changes between 0.9.7h and 0.9.8 [xx XXX xxxx]
|
||||
|
||||
*) Correct naming of the 'chil' and '4758cca' ENGINEs. This
|
||||
involves renaming the source and generated shared-libs for
|
||||
both. The engines will accept the corrected or legacy ids
|
||||
('ncipher' and '4758_cca' respectively) when binding. NB,
|
||||
this only applies when building 'shared'.
|
||||
[Corinna Vinschen <vinschen@redhat.com> and Geoff Thorpe]
|
||||
|
||||
*) Add attribute functions to EVP_PKEY structure. Modify
|
||||
PKCS12_create() to recognize a CSP name attribute and
|
||||
use it. Make -CSP option work again in pkcs12 utility.
|
||||
@@ -799,6 +806,13 @@
|
||||
|
||||
Changes between 0.9.7g and 0.9.7h [XX xxx XXXX]
|
||||
|
||||
*) For DSA signing, unless DSA_FLAG_NO_EXP_CONSTTIME is set, perform
|
||||
the exponentiation using a fixed-length exponent. (Otherwise,
|
||||
the information leaked through timing could expose the secret key
|
||||
after many signatures; cf. Bleichenbacher's attack on DSA with
|
||||
biased k.)
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Make a new fixed-window mod_exp implementation the default for
|
||||
RSA, DSA, and DH private-key operations so that the sequence of
|
||||
squares and multiplies and the memory access pattern are
|
||||
|
2
NEWS
2
NEWS
@@ -71,6 +71,8 @@
|
||||
SHA-1.
|
||||
o Added support for DTLS. THIS IS STILL BEING WORKED ON!
|
||||
o New BIGNUM blinding.
|
||||
o Added support for the RSA-PSS encryption scheme
|
||||
o Added support for the RSA X.931 padding.
|
||||
|
||||
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
|
||||
|
||||
|
2
README
2
README
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 0.9.8-beta2 24 May 2005
|
||||
OpenSSL 0.9.8-beta3 31 May 2005
|
||||
|
||||
Copyright (c) 1998-2005 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: 2005/05/24 03:42:48 $
|
||||
______________ $Date: 2005/05/30 22:56:49 $
|
||||
|
||||
DEVELOPMENT STATE
|
||||
|
||||
o OpenSSL 0.9.9: Under development...
|
||||
o OpenSSL 0.9.8-beta3: Released on May 31th, 2005
|
||||
o OpenSSL 0.9.8-beta2: Released on May 24th, 2005
|
||||
o OpenSSL 0.9.8-beta1: Released on May 19th, 2005
|
||||
o OpenSSL 0.9.7g: Released on April 11th, 2005
|
||||
|
@@ -650,7 +650,7 @@ $ CCDEFS = "MONOLITH"
|
||||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
@@ -148,6 +148,7 @@ int MAIN(int argc, char **argv)
|
||||
else if(!strcmp(*argv, "-oaep")) pad = RSA_PKCS1_OAEP_PADDING;
|
||||
else if(!strcmp(*argv, "-ssl")) pad = RSA_SSLV23_PADDING;
|
||||
else if(!strcmp(*argv, "-pkcs")) pad = RSA_PKCS1_PADDING;
|
||||
else if(!strcmp(*argv, "-x931")) pad = RSA_X931_PADDING;
|
||||
else if(!strcmp(*argv, "-sign")) {
|
||||
rsa_mode = RSA_SIGN;
|
||||
need_priv = 1;
|
||||
|
@@ -263,6 +263,9 @@ int MAIN(int argc, char **argv)
|
||||
int starttls_proto = 0;
|
||||
int prexit = 0, vflags = 0;
|
||||
SSL_METHOD *meth=NULL;
|
||||
#ifdef sock_type
|
||||
#undef sock_type
|
||||
#endif
|
||||
int sock_type=SOCK_STREAM;
|
||||
BIO *sbio;
|
||||
char *inrand=NULL;
|
||||
|
@@ -262,6 +262,9 @@ static char *engine_id=NULL;
|
||||
static const char *session_id_prefix=NULL;
|
||||
|
||||
static int enable_timeouts = 0;
|
||||
#ifdef mtu
|
||||
#undef mtu
|
||||
#endif
|
||||
static long mtu;
|
||||
static int cert_chain = 0;
|
||||
|
||||
@@ -534,6 +537,9 @@ int MAIN(int argc, char *argv[])
|
||||
int no_tmp_rsa=0,no_dhe=0,no_ecdhe=0,nocert=0;
|
||||
int state=0;
|
||||
SSL_METHOD *meth=NULL;
|
||||
#ifdef sock_type
|
||||
#undef sock_type
|
||||
#endif
|
||||
int sock_type=SOCK_STREAM;
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
ENGINE *e=NULL;
|
||||
|
@@ -253,6 +253,8 @@ extern "C" {
|
||||
#define BN_set_flags(b,n) ((b)->flags|=(n))
|
||||
#define BN_get_flags(b,n) ((b)->flags&(n))
|
||||
|
||||
/* get a clone of a BIGNUM with changed flags, for *temporary* use only
|
||||
* (the two BIGNUMs cannot not be used in parallel!) */
|
||||
#define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \
|
||||
(dest)->top=(b)->top, \
|
||||
(dest)->dmax=(b)->dmax, \
|
||||
|
@@ -207,6 +207,8 @@ int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx)
|
||||
|
||||
int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx)
|
||||
{
|
||||
int ret = 1;
|
||||
|
||||
bn_check_top(n);
|
||||
|
||||
if ((b->A == NULL) || (b->Ai == NULL))
|
||||
@@ -216,9 +218,13 @@ int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *ctx)
|
||||
}
|
||||
|
||||
if (r != NULL)
|
||||
BN_copy(r, b->Ai);
|
||||
{
|
||||
if (!BN_copy(r, b->Ai)) ret=0;
|
||||
}
|
||||
|
||||
return BN_mod_mul(n,n,b->A,b->mod,ctx);
|
||||
if (!BN_mod_mul(n,n,b->A,b->mod,ctx)) ret=0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx)
|
||||
@@ -351,4 +357,3 @@ err:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@@ -283,7 +283,7 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
|
||||
nist_cp_bn_0(buf, a_d + BN_NIST_192_TOP, top - BN_NIST_192_TOP, BN_NIST_192_TOP);
|
||||
|
||||
#if defined(OPENSSL_SYS_VMS) && defined(__DECC)
|
||||
# pragma save
|
||||
# pragma message save
|
||||
# pragma message disable BADSUBSCRIPT
|
||||
#endif
|
||||
|
||||
@@ -296,7 +296,7 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
|
||||
++carry;
|
||||
|
||||
#if defined(OPENSSL_SYS_VMS) && defined(__DECC)
|
||||
# pragma restore
|
||||
# pragma message restore
|
||||
#endif
|
||||
|
||||
nist_set_192(t_d, buf, 5, 5, 5)
|
||||
|
@@ -194,7 +194,7 @@ $ LIB_EC = "ec_lib,ecp_smpl,ecp_mont,ecp_nist,ec_cvt,ec_mult,"+ -
|
||||
"ec2_smpl,ec2_mult"
|
||||
$ LIB_RSA = "rsa_eay,rsa_gen,rsa_lib,rsa_sign,rsa_saos,rsa_err,"+ -
|
||||
"rsa_pk1,rsa_ssl,rsa_none,rsa_oaep,rsa_chk,rsa_null,"+ -
|
||||
"rsa_asn1,rsa_depr"
|
||||
"rsa_pss,rsa_x931,rsa_asn1,rsa_depr"
|
||||
$ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,"+ -
|
||||
"dsa_err,dsa_ossl,dsa_depr"
|
||||
$ LIB_ECDSA = "ecs_lib,ecs_asn1,ecs_ossl,ecs_sign,ecs_vrf,ecs_err"
|
||||
@@ -970,7 +970,7 @@ $ CCDEFS = "TCPIP_TYPE_''P4',DSO_VMS"
|
||||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
@@ -148,6 +148,7 @@ static int generate_key(DH *dh)
|
||||
|
||||
if ((dh->flags & DH_FLAG_NO_EXP_CONSTTIME) == 0)
|
||||
{
|
||||
BN_init(&local_prk);
|
||||
prk = &local_prk;
|
||||
BN_with_flags(prk, priv_key, BN_FLG_EXP_CONSTTIME);
|
||||
}
|
||||
|
@@ -105,6 +105,7 @@ static int dsa_builtin_keygen(DSA *dsa)
|
||||
|
||||
if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0)
|
||||
{
|
||||
BN_init(&local_prk);
|
||||
prk = &local_prk;
|
||||
BN_with_flags(prk, priv_key, BN_FLG_EXP_CONSTTIME);
|
||||
}
|
||||
|
@@ -202,7 +202,7 @@ err:
|
||||
static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
||||
{
|
||||
BN_CTX *ctx;
|
||||
BIGNUM k,*kinv=NULL,*r=NULL;
|
||||
BIGNUM k,kq,*K,*kinv=NULL,*r=NULL;
|
||||
int ret=0;
|
||||
|
||||
if (!dsa->p || !dsa->q || !dsa->g)
|
||||
@@ -212,6 +212,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
||||
}
|
||||
|
||||
BN_init(&k);
|
||||
BN_init(&kq);
|
||||
|
||||
if (ctx_in == NULL)
|
||||
{
|
||||
@@ -221,7 +222,6 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
||||
ctx=ctx_in;
|
||||
|
||||
if ((r=BN_new()) == NULL) goto err;
|
||||
kinv=NULL;
|
||||
|
||||
/* Get random k */
|
||||
do
|
||||
@@ -241,7 +241,30 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
||||
}
|
||||
|
||||
/* Compute r = (g^k mod p) mod q */
|
||||
DSA_BN_MOD_EXP(goto err, dsa, r, dsa->g, &k, dsa->p, ctx,
|
||||
|
||||
if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0)
|
||||
{
|
||||
if (!BN_copy(&kq, &k)) goto err;
|
||||
|
||||
/* We do not want timing information to leak the length of k,
|
||||
* so we compute g^k using an equivalent exponent of fixed length.
|
||||
*
|
||||
* (This is a kludge that we need because the BN_mod_exp_mont()
|
||||
* does not let us specify the desired timing behaviour.) */
|
||||
|
||||
if (!BN_add(&kq, &kq, dsa->q)) goto err;
|
||||
if (BN_num_bits(&kq) <= BN_num_bits(dsa->q))
|
||||
{
|
||||
if (!BN_add(&kq, &kq, dsa->q)) goto err;
|
||||
}
|
||||
|
||||
K = &kq;
|
||||
}
|
||||
else
|
||||
{
|
||||
K = &k;
|
||||
}
|
||||
DSA_BN_MOD_EXP(goto err, dsa, r, dsa->g, K, dsa->p, ctx,
|
||||
dsa->method_mont_p);
|
||||
if (!BN_mod(r,r,dsa->q,ctx)) goto err;
|
||||
|
||||
@@ -264,6 +287,7 @@ err:
|
||||
if (ctx_in == NULL) BN_CTX_free(ctx);
|
||||
if (kinv != NULL) BN_clear_free(kinv);
|
||||
BN_clear_free(&k);
|
||||
BN_clear_free(&kq);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
@@ -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 0x00908002L
|
||||
#define OPENSSL_VERSION_NUMBER 0x00908003L
|
||||
#ifdef OPENSSL_FIPS
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-fips-beta2 24 May 2005"
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-fips-beta3 31 May 2005"
|
||||
#else
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-beta2 24 May 2005"
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-beta3 31 May 2005"
|
||||
#endif
|
||||
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
|
||||
|
||||
|
@@ -719,9 +719,9 @@ sub main'initseg
|
||||
$tmp=<<___;
|
||||
.section .init
|
||||
call $under$f
|
||||
jmp 1f
|
||||
jmp .Linitalign
|
||||
.align $align
|
||||
1:
|
||||
.Linitalign:
|
||||
___
|
||||
}
|
||||
elsif ($main'coff)
|
||||
|
@@ -22,7 +22,7 @@ LIBOBJ=pqueue.o
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
EXHEADER= pqueue.h
|
||||
EXHEADER= pqueue.h pq_compat.h
|
||||
HEADER= $(EXHEADER)
|
||||
|
||||
ALL= $(GENERAL) $(SRC) $(HEADER)
|
||||
@@ -79,5 +79,6 @@ pqueue.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||
pqueue.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
||||
pqueue.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
||||
pqueue.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
pqueue.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
pqueue.o: ../../include/openssl/symhacks.h ../cryptlib.h pqueue.c pqueue.h
|
||||
pqueue.o: ../../include/openssl/pq_compat.h ../../include/openssl/safestack.h
|
||||
pqueue.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||
pqueue.o: ../cryptlib.h pqueue.c pqueue.h
|
||||
|
134
crypto/pqueue/pq_compat.h
Normal file
134
crypto/pqueue/pq_compat.h
Normal file
@@ -0,0 +1,134 @@
|
||||
/* crypto/pqueue/pqueue_compat.h */
|
||||
/*
|
||||
* DTLS implementation written by Nagendra Modadugu
|
||||
* (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
|
||||
*/
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2005 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
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@OpenSSL.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#include "opensslconf.h"
|
||||
#include <openssl/bn.h>
|
||||
|
||||
/*
|
||||
* The purpose of this header file is for supporting 64-bit integer
|
||||
* manipulation on 32-bit (and lower) machines. Currently the only
|
||||
* such environment is VMS. Other environments that do not natively
|
||||
* support 64-bit integers can safely use the code developed for VMS.
|
||||
*
|
||||
* The only clients of this code are (1) pqueue for priority, and
|
||||
* (2) DTLS, for sequence number manipulation.
|
||||
*/
|
||||
|
||||
#if defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)
|
||||
|
||||
#define PQ_64BIT BIGNUM
|
||||
#define PQ_64BIT_CTX BN_CTX
|
||||
|
||||
#define pq_64bit_init(x) BN_init(x)
|
||||
#define pq_64bit_free(x) BN_free(x)
|
||||
|
||||
#define pq_64bit_ctx_new(ctx) BN_CTX_new()
|
||||
#define pq_64bit_ctx_free(x) BN_CTX_free(x)
|
||||
|
||||
#define pq_64bit_assign(x, y) BN_copy(x, y)
|
||||
#define pq_64bit_assign_word(x, y) BN_set_word(x, y)
|
||||
#define pq_64bit_gt(x, y) BN_ucmp(x, y) >= 1 ? 1 : 0
|
||||
#define pq_64bit_eq(x, y) BN_ucmp(x, y) == 0 ? 1 : 0
|
||||
#define pq_64bit_add_word(x, w) BN_add_word(x, w)
|
||||
#define pq_64bit_sub(r, x, y) BN_sub(r, x, y)
|
||||
#define pq_64bit_sub_word(x, w) BN_sub_word(x, w)
|
||||
#define pq_64bit_mod(r, x, n, ctx) BN_mod(r, x, n, ctx)
|
||||
|
||||
#define pq_64bit_bin2num(bn, bytes, len) BN_bin2bn(bytes, len, bn)
|
||||
#define pq_64bit_num2bin(bn, bytes) BN_bn2bin(bn, bytes)
|
||||
#define pq_64bit_get_word(x) BN_get_word(x)
|
||||
#define pq_64bit_is_bit_set(x, offset) BN_is_bit_set(x, offset)
|
||||
#define pq_64bit_lshift(r, x, shift) BN_lshift(r, x, shift)
|
||||
#define pq_64bit_set_bit(x, num) BN_set_bit(x, num)
|
||||
#define pq_64bit_get_length(x) BN_num_bits((x))
|
||||
|
||||
#else
|
||||
|
||||
#if defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG)
|
||||
#define PQ_64BIT BN_ULONG
|
||||
#elif defined(THIRTY_TWO_BIT)
|
||||
#define PQ_64BIT BN_ULLONG
|
||||
#endif
|
||||
|
||||
#define PQ_64BIT_CTX void
|
||||
|
||||
#define pq_64bit_init(x)
|
||||
#define pq_64bit_free(x)
|
||||
#define pq_64bit_ctx_new(ctx) (ctx)
|
||||
#define pq_64bit_ctx_free(x)
|
||||
|
||||
#define pq_64bit_assign(x, y) (*(x) = *(y))
|
||||
#define pq_64bit_assign_word(x, y) (*(x) = y)
|
||||
#define pq_64bit_gt(x, y) (*(x) > *(y))
|
||||
#define pq_64bit_eq(x, y) (*(x) == *(y))
|
||||
#define pq_64bit_add_word(x, w) (*(x) = (*(x) + (w)))
|
||||
#define pq_64bit_sub(r, x, y) (*(r) = (*(x) - *(y)))
|
||||
#define pq_64bit_sub_word(x, w) (*(x) = (*(x) - (w)))
|
||||
#define pq_64bit_mod(r, x, n, ctx)
|
||||
|
||||
#define pq_64bit_bin2num(num, bytes, len) bytes_to_long_long(bytes, num)
|
||||
#define pq_64bit_num2bin(num, bytes) long_long_to_bytes(num, bytes)
|
||||
#define pq_64bit_get_word(x) *(x)
|
||||
#define pq_64bit_lshift(r, x, shift) (*(r) = (*(x) << (shift)))
|
||||
#define pq_64bit_set_bit(x, num) do { \
|
||||
PQ_64BIT mask = 1; \
|
||||
mask = mask << (num); \
|
||||
*(x) |= mask; \
|
||||
} while(0)
|
||||
#endif /* OPENSSL_SYS_VMS */
|
@@ -68,12 +68,14 @@ typedef struct _pqueue
|
||||
} pqueue_s;
|
||||
|
||||
pitem *
|
||||
pitem_new(BN_ULLONG priority, void *data)
|
||||
pitem_new(PQ_64BIT priority, void *data)
|
||||
{
|
||||
pitem *item = (pitem *) OPENSSL_malloc(sizeof(pitem));
|
||||
if (item == NULL) return NULL;
|
||||
|
||||
item->priority = priority;
|
||||
pq_64bit_init(&(item->priority));
|
||||
pq_64bit_assign(&item->priority, &priority);
|
||||
|
||||
item->data = data;
|
||||
item->next = NULL;
|
||||
|
||||
@@ -84,7 +86,8 @@ void
|
||||
pitem_free(pitem *item)
|
||||
{
|
||||
if (item == NULL) return;
|
||||
|
||||
|
||||
pq_64bit_free(&(item->priority));
|
||||
OPENSSL_free(item);
|
||||
}
|
||||
|
||||
@@ -121,7 +124,7 @@ pqueue_insert(pqueue_s *pq, pitem *item)
|
||||
next != NULL;
|
||||
curr = next, next = next->next)
|
||||
{
|
||||
if (item->priority < next->priority)
|
||||
if (pq_64bit_gt(&(next->priority), &(item->priority)))
|
||||
{
|
||||
item->next = next;
|
||||
|
||||
@@ -133,7 +136,7 @@ pqueue_insert(pqueue_s *pq, pitem *item)
|
||||
return item;
|
||||
}
|
||||
/* duplicates not allowed */
|
||||
if (item->priority == next->priority)
|
||||
if (pq_64bit_eq(&(item->priority), &(next->priority)))
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -161,7 +164,7 @@ pqueue_pop(pqueue_s *pq)
|
||||
}
|
||||
|
||||
pitem *
|
||||
pqueue_find(pqueue_s *pq, BN_ULLONG priority)
|
||||
pqueue_find(pqueue_s *pq, PQ_64BIT priority)
|
||||
{
|
||||
pitem *next, *prev = NULL;
|
||||
pitem *found = NULL;
|
||||
@@ -172,7 +175,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
|
||||
for ( next = pq->items; next->next != NULL;
|
||||
prev = next, next = next->next)
|
||||
{
|
||||
if ( next->priority == priority)
|
||||
if ( pq_64bit_eq(&(next->priority), &priority))
|
||||
{
|
||||
found = next;
|
||||
break;
|
||||
@@ -180,7 +183,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
|
||||
}
|
||||
|
||||
/* check the one last node */
|
||||
if ( next->priority == priority)
|
||||
if ( pq_64bit_eq(&(next->priority), &priority))
|
||||
found = next;
|
||||
|
||||
if ( ! found)
|
||||
@@ -196,6 +199,7 @@ pqueue_find(pqueue_s *pq, BN_ULLONG priority)
|
||||
return found;
|
||||
}
|
||||
|
||||
#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST))
|
||||
void
|
||||
pqueue_print(pqueue_s *pq)
|
||||
{
|
||||
@@ -207,6 +211,7 @@ pqueue_print(pqueue_s *pq)
|
||||
item = item->next;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
pitem *
|
||||
pqueue_iterator(pqueue_s *pq)
|
||||
|
@@ -64,18 +64,20 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <openssl/pq_compat.h>
|
||||
|
||||
typedef struct _pqueue *pqueue;
|
||||
|
||||
typedef struct _pitem
|
||||
{
|
||||
BN_ULLONG priority;
|
||||
PQ_64BIT priority;
|
||||
void *data;
|
||||
struct _pitem *next;
|
||||
} pitem;
|
||||
|
||||
typedef struct _pitem *piterator;
|
||||
|
||||
pitem *pitem_new(BN_ULLONG priority, void *data);
|
||||
pitem *pitem_new(PQ_64BIT priority, void *data);
|
||||
void pitem_free(pitem *item);
|
||||
|
||||
pqueue pqueue_new(void);
|
||||
@@ -84,7 +86,7 @@ void pqueue_free(pqueue pq);
|
||||
pitem *pqueue_insert(pqueue pq, pitem *item);
|
||||
pitem *pqueue_peek(pqueue pq);
|
||||
pitem *pqueue_pop(pqueue pq);
|
||||
pitem *pqueue_find(pqueue pq, BN_ULLONG priority);
|
||||
pitem *pqueue_find(pqueue pq, PQ_64BIT priority);
|
||||
pitem *pqueue_iterator(pqueue pq);
|
||||
pitem *pqueue_next(piterator *iter);
|
||||
|
||||
|
@@ -153,7 +153,7 @@ int RAND_poll(void)
|
||||
int n = 0;
|
||||
#endif
|
||||
#ifdef DEVRANDOM
|
||||
static const char *randomfiles[] = { DEVRANDOM };
|
||||
static const char *randomfiles[] = { "DEVRANDOM" };
|
||||
struct stat randomstats[sizeof(randomfiles)/sizeof(randomfiles[0])];
|
||||
int fd,i;
|
||||
#endif
|
||||
|
@@ -19,10 +19,10 @@ APPS=
|
||||
LIB=$(TOP)/libcrypto.a
|
||||
LIBSRC= rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c \
|
||||
rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c \
|
||||
rsa_asn1.c rsa_depr.c
|
||||
rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c
|
||||
LIBOBJ= rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o \
|
||||
rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o rsa_chk.o rsa_null.o \
|
||||
rsa_asn1.o rsa_depr.o
|
||||
rsa_pss.o rsa_x931.o rsa_asn1.o rsa_depr.o
|
||||
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
@@ -179,6 +179,17 @@ rsa_pk1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
|
||||
rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c
|
||||
rsa_pss.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||
rsa_pss.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
||||
rsa_pss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||
rsa_pss.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
||||
rsa_pss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
|
||||
rsa_pss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||
rsa_pss.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||
rsa_pss.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
|
||||
rsa_pss.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||
rsa_pss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||
rsa_pss.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pss.c
|
||||
rsa_saos.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||
rsa_saos.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
||||
rsa_saos.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||
@@ -216,3 +227,13 @@ rsa_ssl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
rsa_ssl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
|
||||
rsa_ssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
rsa_ssl.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_ssl.c
|
||||
rsa_x931.o: ../../e_os.h ../../include/openssl/asn1.h
|
||||
rsa_x931.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
||||
rsa_x931.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
||||
rsa_x931.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
||||
rsa_x931.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
|
||||
rsa_x931.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||
rsa_x931.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
|
||||
rsa_x931.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
|
||||
rsa_x931.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
||||
rsa_x931.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_x931.c
|
||||
|
@@ -196,6 +196,7 @@ struct rsa_st
|
||||
#define RSA_SSLV23_PADDING 2
|
||||
#define RSA_NO_PADDING 3
|
||||
#define RSA_PKCS1_OAEP_PADDING 4
|
||||
#define RSA_X931_PADDING 5
|
||||
|
||||
#define RSA_PKCS1_PADDING_SIZE 11
|
||||
|
||||
@@ -297,6 +298,8 @@ int RSA_padding_add_PKCS1_type_2(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl);
|
||||
int RSA_padding_check_PKCS1_type_2(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl,int rsa_len);
|
||||
int PKCS1_MGF1(unsigned char *mask, long len,
|
||||
const unsigned char *seed, long seedlen, const EVP_MD *dgst);
|
||||
int RSA_padding_add_PKCS1_OAEP(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl,
|
||||
const unsigned char *p,int pl);
|
||||
@@ -311,6 +314,17 @@ int RSA_padding_add_none(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl);
|
||||
int RSA_padding_check_none(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl,int rsa_len);
|
||||
int RSA_padding_add_X931(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl);
|
||||
int RSA_padding_check_X931(unsigned char *to,int tlen,
|
||||
const unsigned char *f,int fl,int rsa_len);
|
||||
int RSA_X931_hash_id(int nid);
|
||||
|
||||
int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
|
||||
const EVP_MD *Hash, const unsigned char *EM, int sLen);
|
||||
int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
|
||||
const unsigned char *mHash,
|
||||
const EVP_MD *Hash, int sLen);
|
||||
|
||||
int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
|
||||
CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
|
||||
@@ -329,37 +343,43 @@ void ERR_load_RSA_strings(void);
|
||||
/* Error codes for the RSA functions. */
|
||||
|
||||
/* Function codes. */
|
||||
#define RSA_F_RSA_BUILTIN_KEYGEN 105
|
||||
#define RSA_F_MEMORY_LOCK 100
|
||||
#define RSA_F_RSA_BUILTIN_KEYGEN 129
|
||||
#define RSA_F_RSA_CHECK_KEY 123
|
||||
#define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101
|
||||
#define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102
|
||||
#define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103
|
||||
#define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104
|
||||
#define RSA_F_RSA_MEMORY_LOCK 100
|
||||
#define RSA_F_RSA_GENERATE_KEY 105
|
||||
#define RSA_F_RSA_MEMORY_LOCK 130
|
||||
#define RSA_F_RSA_NEW_METHOD 106
|
||||
#define RSA_F_RSA_NULL 124
|
||||
#define RSA_F_RSA_NULL_MOD_EXP 126
|
||||
#define RSA_F_RSA_NULL_PRIVATE_DECRYPT 127
|
||||
#define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 128
|
||||
#define RSA_F_RSA_NULL_PUBLIC_DECRYPT 129
|
||||
#define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 130
|
||||
#define RSA_F_RSA_NULL_MOD_EXP 131
|
||||
#define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132
|
||||
#define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133
|
||||
#define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134
|
||||
#define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135
|
||||
#define RSA_F_RSA_PADDING_ADD_NONE 107
|
||||
#define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121
|
||||
#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125
|
||||
#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108
|
||||
#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109
|
||||
#define RSA_F_RSA_PADDING_ADD_SSLV23 110
|
||||
#define RSA_F_RSA_PADDING_ADD_X931 127
|
||||
#define RSA_F_RSA_PADDING_CHECK_NONE 111
|
||||
#define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122
|
||||
#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112
|
||||
#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113
|
||||
#define RSA_F_RSA_PADDING_CHECK_SSLV23 114
|
||||
#define RSA_F_RSA_PADDING_CHECK_X931 128
|
||||
#define RSA_F_RSA_PRINT 115
|
||||
#define RSA_F_RSA_PRINT_FP 116
|
||||
#define RSA_F_RSA_SETUP_BLINDING 125
|
||||
#define RSA_F_RSA_SETUP_BLINDING 136
|
||||
#define RSA_F_RSA_SIGN 117
|
||||
#define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118
|
||||
#define RSA_F_RSA_VERIFY 119
|
||||
#define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120
|
||||
#define RSA_F_RSA_VERIFY_PKCS1_PSS 126
|
||||
|
||||
/* Reason codes. */
|
||||
#define RSA_R_ALGORITHM_MISMATCH 100
|
||||
@@ -379,13 +399,19 @@ void ERR_load_RSA_strings(void);
|
||||
#define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124
|
||||
#define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125
|
||||
#define RSA_R_D_E_NOT_CONGRUENT_TO_1 123
|
||||
#define RSA_R_FIRST_OCTET_INVALID 133
|
||||
#define RSA_R_INVALID_HEADER 137
|
||||
#define RSA_R_INVALID_MESSAGE_LENGTH 131
|
||||
#define RSA_R_INVALID_PADDING 138
|
||||
#define RSA_R_INVALID_TRAILER 139
|
||||
#define RSA_R_IQMP_NOT_INVERSE_OF_Q 126
|
||||
#define RSA_R_KEY_SIZE_TOO_SMALL 120
|
||||
#define RSA_R_NO_PUBLIC_EXPONENT 133
|
||||
#define RSA_R_LAST_OCTET_INVALID 134
|
||||
#define RSA_R_NO_PUBLIC_EXPONENT 140
|
||||
#define RSA_R_NULL_BEFORE_BLOCK_MISSING 113
|
||||
#define RSA_R_N_DOES_NOT_EQUAL_P_Q 127
|
||||
#define RSA_R_OAEP_DECODING_ERROR 121
|
||||
#define RSA_R_ONE_CHECK_FAILED 135
|
||||
#define RSA_R_PADDING_CHECK_FAILED 114
|
||||
#define RSA_R_P_NOT_PRIME 128
|
||||
#define RSA_R_Q_NOT_PRIME 129
|
||||
@@ -395,6 +421,7 @@ void ERR_load_RSA_strings(void);
|
||||
#define RSA_R_UNKNOWN_ALGORITHM_TYPE 117
|
||||
#define RSA_R_UNKNOWN_PADDING_TYPE 118
|
||||
#define RSA_R_WRONG_SIGNATURE_LENGTH 119
|
||||
#define RSA_R_ZERO_CHECK_FAILED 136
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -309,7 +309,7 @@ static int rsa_blinding_invert(BN_BLINDING *b, int local, BIGNUM *f,
|
||||
static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding)
|
||||
{
|
||||
BIGNUM *f, *ret, *br;
|
||||
BIGNUM *f, *ret, *br, *res;
|
||||
int i,j,k,num=0,r= -1;
|
||||
unsigned char *buf=NULL;
|
||||
BN_CTX *ctx=NULL;
|
||||
@@ -334,6 +334,9 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
|
||||
case RSA_PKCS1_PADDING:
|
||||
i=RSA_padding_add_PKCS1_type_1(buf,num,from,flen);
|
||||
break;
|
||||
case RSA_X931_PADDING:
|
||||
i=RSA_padding_add_X931(buf,num,from,flen);
|
||||
break;
|
||||
case RSA_NO_PADDING:
|
||||
i=RSA_padding_add_none(buf,num,from,flen);
|
||||
break;
|
||||
@@ -383,6 +386,7 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
|
||||
|
||||
if (!(rsa->flags & RSA_FLAG_NO_EXP_CONSTTIME))
|
||||
{
|
||||
BN_init(&local_d);
|
||||
d = &local_d;
|
||||
BN_with_flags(d, rsa->d, BN_FLG_EXP_CONSTTIME);
|
||||
}
|
||||
@@ -399,10 +403,21 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
|
||||
if (!rsa_blinding_invert(blinding, local_blinding, ret, br, ctx))
|
||||
goto err;
|
||||
|
||||
if (padding == RSA_X931_PADDING)
|
||||
{
|
||||
BN_sub(f, rsa->n, ret);
|
||||
if (BN_cmp(ret, f))
|
||||
res = f;
|
||||
else
|
||||
res = ret;
|
||||
}
|
||||
else
|
||||
res = ret;
|
||||
|
||||
/* put in leading 0 bytes if the number is less than the
|
||||
* length of the modulus */
|
||||
j=BN_num_bytes(ret);
|
||||
i=BN_bn2bin(ret,&(to[num-j]));
|
||||
j=BN_num_bytes(res);
|
||||
i=BN_bn2bin(res,&(to[num-j]));
|
||||
for (k=0; k<(num-i); k++)
|
||||
to[k]=0;
|
||||
|
||||
@@ -592,6 +607,9 @@ static int RSA_eay_public_decrypt(int flen, const unsigned char *from,
|
||||
if (!rsa->meth->bn_mod_exp(ret,f,rsa->e,rsa->n,ctx,
|
||||
rsa->_method_mod_n)) goto err;
|
||||
|
||||
if ((padding == RSA_X931_PADDING) && ((ret->d[0] & 0xf) != 12))
|
||||
BN_sub(ret, rsa->n, ret);
|
||||
|
||||
p=buf;
|
||||
i=BN_bn2bin(ret,p);
|
||||
|
||||
@@ -600,6 +618,9 @@ static int RSA_eay_public_decrypt(int flen, const unsigned char *from,
|
||||
case RSA_PKCS1_PADDING:
|
||||
r=RSA_padding_check_PKCS1_type_1(to,num,buf,i,num);
|
||||
break;
|
||||
case RSA_X931_PADDING:
|
||||
r=RSA_padding_check_X931(to,num,buf,i,num);
|
||||
break;
|
||||
case RSA_NO_PADDING:
|
||||
r=RSA_padding_check_none(to,num,buf,i,num);
|
||||
break;
|
||||
|
@@ -70,12 +70,14 @@
|
||||
|
||||
static ERR_STRING_DATA RSA_str_functs[]=
|
||||
{
|
||||
{ERR_FUNC(RSA_F_MEMORY_LOCK), "MEMORY_LOCK"},
|
||||
{ERR_FUNC(RSA_F_RSA_BUILTIN_KEYGEN), "RSA_BUILTIN_KEYGEN"},
|
||||
{ERR_FUNC(RSA_F_RSA_CHECK_KEY), "RSA_check_key"},
|
||||
{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_DECRYPT), "RSA_EAY_PRIVATE_DECRYPT"},
|
||||
{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_ENCRYPT), "RSA_EAY_PRIVATE_ENCRYPT"},
|
||||
{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_DECRYPT), "RSA_EAY_PUBLIC_DECRYPT"},
|
||||
{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_ENCRYPT), "RSA_EAY_PUBLIC_ENCRYPT"},
|
||||
{ERR_FUNC(RSA_F_RSA_GENERATE_KEY), "RSA_generate_key"},
|
||||
{ERR_FUNC(RSA_F_RSA_MEMORY_LOCK), "RSA_memory_lock"},
|
||||
{ERR_FUNC(RSA_F_RSA_NEW_METHOD), "RSA_new_method"},
|
||||
{ERR_FUNC(RSA_F_RSA_NULL), "RSA_NULL"},
|
||||
@@ -86,14 +88,17 @@ static ERR_STRING_DATA RSA_str_functs[]=
|
||||
{ERR_FUNC(RSA_F_RSA_NULL_PUBLIC_ENCRYPT), "RSA_NULL_PUBLIC_ENCRYPT"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_NONE), "RSA_padding_add_none"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_OAEP), "RSA_padding_add_PKCS1_OAEP"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_PSS), "RSA_PADDING_ADD_PKCS1_PSS"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1), "RSA_padding_add_PKCS1_type_1"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2), "RSA_padding_add_PKCS1_type_2"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_SSLV23), "RSA_padding_add_SSLv23"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_ADD_X931), "RSA_padding_add_X931"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_NONE), "RSA_padding_check_none"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP), "RSA_padding_check_PKCS1_OAEP"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1), "RSA_padding_check_PKCS1_type_1"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2), "RSA_padding_check_PKCS1_type_2"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_SSLV23), "RSA_padding_check_SSLv23"},
|
||||
{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_X931), "RSA_padding_check_X931"},
|
||||
{ERR_FUNC(RSA_F_RSA_PRINT), "RSA_print"},
|
||||
{ERR_FUNC(RSA_F_RSA_PRINT_FP), "RSA_print_fp"},
|
||||
{ERR_FUNC(RSA_F_RSA_SETUP_BLINDING), "RSA_setup_blinding"},
|
||||
@@ -101,6 +106,7 @@ static ERR_STRING_DATA RSA_str_functs[]=
|
||||
{ERR_FUNC(RSA_F_RSA_SIGN_ASN1_OCTET_STRING), "RSA_sign_ASN1_OCTET_STRING"},
|
||||
{ERR_FUNC(RSA_F_RSA_VERIFY), "RSA_verify"},
|
||||
{ERR_FUNC(RSA_F_RSA_VERIFY_ASN1_OCTET_STRING), "RSA_verify_ASN1_OCTET_STRING"},
|
||||
{ERR_FUNC(RSA_F_RSA_VERIFY_PKCS1_PSS), "RSA_VERIFY_PKCS1_PSS"},
|
||||
{0,NULL}
|
||||
};
|
||||
|
||||
@@ -123,13 +129,19 @@ static ERR_STRING_DATA RSA_str_reasons[]=
|
||||
{ERR_REASON(RSA_R_DMP1_NOT_CONGRUENT_TO_D),"dmp1 not congruent to d"},
|
||||
{ERR_REASON(RSA_R_DMQ1_NOT_CONGRUENT_TO_D),"dmq1 not congruent to d"},
|
||||
{ERR_REASON(RSA_R_D_E_NOT_CONGRUENT_TO_1),"d e not congruent to 1"},
|
||||
{ERR_REASON(RSA_R_FIRST_OCTET_INVALID) ,"first octet invalid"},
|
||||
{ERR_REASON(RSA_R_INVALID_HEADER) ,"invalid header"},
|
||||
{ERR_REASON(RSA_R_INVALID_MESSAGE_LENGTH),"invalid message length"},
|
||||
{ERR_REASON(RSA_R_INVALID_PADDING) ,"invalid padding"},
|
||||
{ERR_REASON(RSA_R_INVALID_TRAILER) ,"invalid trailer"},
|
||||
{ERR_REASON(RSA_R_IQMP_NOT_INVERSE_OF_Q) ,"iqmp not inverse of q"},
|
||||
{ERR_REASON(RSA_R_KEY_SIZE_TOO_SMALL) ,"key size too small"},
|
||||
{ERR_REASON(RSA_R_LAST_OCTET_INVALID) ,"last octet invalid"},
|
||||
{ERR_REASON(RSA_R_NO_PUBLIC_EXPONENT) ,"no public exponent"},
|
||||
{ERR_REASON(RSA_R_NULL_BEFORE_BLOCK_MISSING),"null before block missing"},
|
||||
{ERR_REASON(RSA_R_N_DOES_NOT_EQUAL_P_Q) ,"n does not equal p q"},
|
||||
{ERR_REASON(RSA_R_OAEP_DECODING_ERROR) ,"oaep decoding error"},
|
||||
{ERR_REASON(RSA_R_ONE_CHECK_FAILED) ,"one check failed"},
|
||||
{ERR_REASON(RSA_R_PADDING_CHECK_FAILED) ,"padding check failed"},
|
||||
{ERR_REASON(RSA_R_P_NOT_PRIME) ,"p not prime"},
|
||||
{ERR_REASON(RSA_R_Q_NOT_PRIME) ,"q not prime"},
|
||||
@@ -139,6 +151,7 @@ static ERR_STRING_DATA RSA_str_reasons[]=
|
||||
{ERR_REASON(RSA_R_UNKNOWN_ALGORITHM_TYPE),"unknown algorithm type"},
|
||||
{ERR_REASON(RSA_R_UNKNOWN_PADDING_TYPE) ,"unknown padding type"},
|
||||
{ERR_REASON(RSA_R_WRONG_SIGNATURE_LENGTH),"wrong signature length"},
|
||||
{ERR_REASON(RSA_R_ZERO_CHECK_FAILED) ,"zero check failed"},
|
||||
{0,NULL}
|
||||
};
|
||||
|
||||
|
@@ -170,28 +170,30 @@ decoding_err:
|
||||
return -1;
|
||||
}
|
||||
|
||||
int MGF1(unsigned char *mask, long len,
|
||||
const unsigned char *seed, long seedlen)
|
||||
int PKCS1_MGF1(unsigned char *mask, long len,
|
||||
const unsigned char *seed, long seedlen, const EVP_MD *dgst)
|
||||
{
|
||||
long i, outlen = 0;
|
||||
unsigned char cnt[4];
|
||||
EVP_MD_CTX c;
|
||||
unsigned char md[SHA_DIGEST_LENGTH];
|
||||
unsigned char md[EVP_MAX_MD_SIZE];
|
||||
int mdlen;
|
||||
|
||||
EVP_MD_CTX_init(&c);
|
||||
mdlen = EVP_MD_size(dgst);
|
||||
for (i = 0; outlen < len; i++)
|
||||
{
|
||||
cnt[0] = (unsigned char)((i >> 24) & 255);
|
||||
cnt[1] = (unsigned char)((i >> 16) & 255);
|
||||
cnt[2] = (unsigned char)((i >> 8)) & 255;
|
||||
cnt[3] = (unsigned char)(i & 255);
|
||||
EVP_DigestInit_ex(&c,EVP_sha1(), NULL);
|
||||
EVP_DigestInit_ex(&c,dgst, NULL);
|
||||
EVP_DigestUpdate(&c, seed, seedlen);
|
||||
EVP_DigestUpdate(&c, cnt, 4);
|
||||
if (outlen + SHA_DIGEST_LENGTH <= len)
|
||||
if (outlen + mdlen <= len)
|
||||
{
|
||||
EVP_DigestFinal_ex(&c, mask + outlen, NULL);
|
||||
outlen += SHA_DIGEST_LENGTH;
|
||||
outlen += mdlen;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -203,4 +205,9 @@ int MGF1(unsigned char *mask, long len,
|
||||
EVP_MD_CTX_cleanup(&c);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MGF1(unsigned char *mask, long len, const unsigned char *seed, long seedlen)
|
||||
{
|
||||
return PKCS1_MGF1(mask, len, seed, seedlen, EVP_sha1());
|
||||
}
|
||||
#endif
|
||||
|
220
crypto/rsa/rsa_pss.c
Normal file
220
crypto/rsa/rsa_pss.c
Normal file
@@ -0,0 +1,220 @@
|
||||
/* rsa_pss.c */
|
||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
||||
* project 2005.
|
||||
*/
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2005 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
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* licensing@OpenSSL.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cryptlib.h"
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/sha.h>
|
||||
|
||||
const static unsigned char zeroes[] = {0,0,0,0,0,0,0,0};
|
||||
|
||||
int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
|
||||
const EVP_MD *Hash, const unsigned char *EM, int sLen)
|
||||
{
|
||||
int i;
|
||||
int ret = 0;
|
||||
int hLen, maskedDBLen, emBits, emLen;
|
||||
const unsigned char *H;
|
||||
unsigned char *DB = NULL;
|
||||
EVP_MD_CTX ctx;
|
||||
unsigned char H_[EVP_MAX_MD_SIZE];
|
||||
emBits = BN_num_bits(rsa->n) - 1;
|
||||
emLen = (emBits + 7) >> 3;
|
||||
hLen = EVP_MD_size(Hash);
|
||||
if (emLen < (hLen + sLen + 2))
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_DATA_TOO_LARGE);
|
||||
goto err;
|
||||
}
|
||||
if (EM[emLen - 1] != 0xbc)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_LAST_OCTET_INVALID);
|
||||
goto err;
|
||||
}
|
||||
if (EM[0] & (0xFF << (emBits & 0x7)))
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_FIRST_OCTET_INVALID);
|
||||
goto err;
|
||||
}
|
||||
maskedDBLen = emLen - hLen - 1;
|
||||
H = EM + maskedDBLen;
|
||||
DB = OPENSSL_malloc(maskedDBLen);
|
||||
if (!DB)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
}
|
||||
PKCS1_MGF1(DB, maskedDBLen, H, hLen, Hash);
|
||||
for (i = 0; i < maskedDBLen; i++)
|
||||
DB[i] ^= EM[i];
|
||||
DB[0] &= 0xFF >> (8 - (emBits & 0x7));
|
||||
for (i = 0; i < (emLen - hLen - sLen - 2); i++)
|
||||
{
|
||||
if (DB[i] != 0)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS,
|
||||
RSA_R_ZERO_CHECK_FAILED);
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
if (DB[i] != 0x1)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_ONE_CHECK_FAILED);
|
||||
goto err;
|
||||
}
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
EVP_DigestInit_ex(&ctx, Hash, NULL);
|
||||
EVP_DigestUpdate(&ctx, zeroes, sizeof zeroes);
|
||||
EVP_DigestUpdate(&ctx, mHash, hLen);
|
||||
if (sLen)
|
||||
EVP_DigestUpdate(&ctx, DB + maskedDBLen - sLen, sLen);
|
||||
EVP_DigestFinal(&ctx, H_, NULL);
|
||||
EVP_MD_CTX_cleanup(&ctx);
|
||||
if (memcmp(H_, H, hLen))
|
||||
{
|
||||
RSAerr(RSA_F_RSA_VERIFY_PKCS1_PSS, RSA_R_BAD_SIGNATURE);
|
||||
ret = 0;
|
||||
}
|
||||
else
|
||||
ret = 1;
|
||||
|
||||
err:
|
||||
if (DB)
|
||||
OPENSSL_free(DB);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
|
||||
const unsigned char *mHash,
|
||||
const EVP_MD *Hash, int sLen)
|
||||
{
|
||||
int i;
|
||||
int ret = 0;
|
||||
int hLen, maskedDBLen, emBits, emLen;
|
||||
unsigned char *H, *salt = NULL, *p;
|
||||
EVP_MD_CTX ctx;
|
||||
emBits = BN_num_bits(rsa->n) - 1;
|
||||
emLen = (emBits + 7) >> 3;
|
||||
hLen = EVP_MD_size(Hash);
|
||||
if (sLen < 0)
|
||||
sLen = 0;
|
||||
if (emLen < (hLen + sLen + 2))
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_PSS,
|
||||
RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
|
||||
goto err;
|
||||
}
|
||||
if (sLen > 0)
|
||||
{
|
||||
salt = OPENSSL_malloc(sLen);
|
||||
if (!salt)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_PSS,
|
||||
ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
}
|
||||
if (!RAND_bytes(salt, sLen))
|
||||
goto err;
|
||||
}
|
||||
maskedDBLen = emLen - hLen - 1;
|
||||
H = EM + maskedDBLen;
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
EVP_DigestInit_ex(&ctx, Hash, NULL);
|
||||
EVP_DigestUpdate(&ctx, zeroes, sizeof zeroes);
|
||||
EVP_DigestUpdate(&ctx, mHash, hLen);
|
||||
if (sLen)
|
||||
EVP_DigestUpdate(&ctx, salt, sLen);
|
||||
EVP_DigestFinal(&ctx, H, NULL);
|
||||
EVP_MD_CTX_cleanup(&ctx);
|
||||
|
||||
/* Generate dbMask in place then perform XOR on it */
|
||||
PKCS1_MGF1(EM, maskedDBLen, H, hLen, Hash);
|
||||
|
||||
p = EM;
|
||||
|
||||
/* Initial PS XORs with all zeroes which is a NOP so just update
|
||||
* pointer. Note from a test above this value is guaranteed to
|
||||
* be non-negative.
|
||||
*/
|
||||
p += emLen - sLen - hLen - 2;
|
||||
*p++ ^= 0x1;
|
||||
if (sLen > 0)
|
||||
{
|
||||
for (i = 0; i < sLen; i++)
|
||||
*p++ ^= salt[i];
|
||||
}
|
||||
EM[0] &= 0xFF >> (8 - (emBits & 0x7));
|
||||
|
||||
/* H is already in place so just set final 0xbc */
|
||||
|
||||
EM[emLen - 1] = 0xbc;
|
||||
|
||||
ret = 1;
|
||||
|
||||
err:
|
||||
if (salt)
|
||||
OPENSSL_free(salt);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
175
crypto/rsa/rsa_x931.c
Normal file
175
crypto/rsa/rsa_x931.c
Normal file
@@ -0,0 +1,175 @@
|
||||
/* rsa_x931.c */
|
||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
||||
* project 2005.
|
||||
*/
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2005 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
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* licensing@OpenSSL.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cryptlib.h"
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/objects.h>
|
||||
|
||||
int RSA_padding_add_X931(unsigned char *to, int tlen,
|
||||
const unsigned char *from, int flen)
|
||||
{
|
||||
int j;
|
||||
unsigned char *p;
|
||||
|
||||
/* Absolute minimum amount of padding is 1 header nibble, 1 padding
|
||||
* nibble and 2 trailer bytes: but 1 hash if is already in 'from'.
|
||||
*/
|
||||
|
||||
j = tlen - flen - 2;
|
||||
|
||||
if (j < 0)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_ADD_X931,RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
|
||||
return -1;
|
||||
}
|
||||
|
||||
p=(unsigned char *)to;
|
||||
|
||||
/* If no padding start and end nibbles are in one byte */
|
||||
if (j == 0)
|
||||
*p++ = 0x6A;
|
||||
else
|
||||
{
|
||||
*p++ = 0x6B;
|
||||
if (j > 1)
|
||||
{
|
||||
memset(p, 0xBB, j - 1);
|
||||
p += j - 1;
|
||||
}
|
||||
*p++ = 0xBA;
|
||||
}
|
||||
memcpy(p,from,(unsigned int)flen);
|
||||
p += flen;
|
||||
*p = 0xCC;
|
||||
return(1);
|
||||
}
|
||||
|
||||
int RSA_padding_check_X931(unsigned char *to, int tlen,
|
||||
const unsigned char *from, int flen, int num)
|
||||
{
|
||||
int i,j;
|
||||
const unsigned char *p;
|
||||
|
||||
p=from;
|
||||
if ((num != flen) || ((*p != 0x6A) && (*p != 0x6B)))
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_CHECK_X931,RSA_R_INVALID_HEADER);
|
||||
return -1;
|
||||
}
|
||||
|
||||
j=flen-3;
|
||||
if (*p++ == 0x6B)
|
||||
{
|
||||
for (i = 0; i < j; i++)
|
||||
{
|
||||
unsigned char c = *p++;
|
||||
if (c == 0xBA)
|
||||
break;
|
||||
if (c != 0xBB)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_CHECK_X931,
|
||||
RSA_R_INVALID_PADDING);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
j -= i;
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_PADDING);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (p[j] != 0xCC)
|
||||
{
|
||||
RSAerr(RSA_F_RSA_PADDING_CHECK_X931, RSA_R_INVALID_TRAILER);
|
||||
return -1;
|
||||
}
|
||||
|
||||
memcpy(to,p,(unsigned int)j);
|
||||
|
||||
return(j);
|
||||
}
|
||||
|
||||
/* Translate between X931 hash ids and NIDs */
|
||||
|
||||
int RSA_X931_hash_id(int nid)
|
||||
{
|
||||
switch (nid)
|
||||
{
|
||||
case NID_sha1:
|
||||
return 0x33;
|
||||
|
||||
case NID_sha256:
|
||||
return 0x34;
|
||||
|
||||
case NID_sha384:
|
||||
return 0x36;
|
||||
|
||||
case NID_sha512:
|
||||
return 0x35;
|
||||
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
@@ -20,23 +20,23 @@ TEST=
|
||||
APPS=
|
||||
|
||||
LIB=$(TOP)/libcrypto.a
|
||||
LIBNAMES= 4758_cca aep atalla cswift gmp ncipher nuron sureware ubsec
|
||||
LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec
|
||||
|
||||
LIBSRC= e_4758_cca.c \
|
||||
LIBSRC= e_4758cca.c \
|
||||
e_aep.c \
|
||||
e_atalla.c \
|
||||
e_cswift.c \
|
||||
e_gmp.c \
|
||||
e_ncipher.c \
|
||||
e_chil.c \
|
||||
e_nuron.c \
|
||||
e_sureware.c \
|
||||
e_ubsec.c
|
||||
LIBOBJ= e_4758_cca.o \
|
||||
LIBOBJ= e_4758cca.o \
|
||||
e_aep.o \
|
||||
e_atalla.o \
|
||||
e_cswift.o \
|
||||
e_gmp.o \
|
||||
e_ncipher.o \
|
||||
e_chil.o \
|
||||
e_nuron.o \
|
||||
e_sureware.o \
|
||||
e_ubsec.o
|
||||
@@ -44,12 +44,12 @@ LIBOBJ= e_4758_cca.o \
|
||||
SRC= $(LIBSRC)
|
||||
|
||||
EXHEADER=
|
||||
HEADER= e_4758_cca_err.c e_4758_cca_err.h \
|
||||
HEADER= e_4758cca_err.c e_4758cca_err.h \
|
||||
e_aep_err.c e_aep_err.h \
|
||||
e_atalla_err.c e_atalla_err.h \
|
||||
e_cswift_err.c e_cswift_err.h \
|
||||
e_gmp_err.c e_gmp_err.h \
|
||||
e_ncipher_err.c e_ncipher_err.h \
|
||||
e_chil_err.c e_chil_err.h \
|
||||
e_nuron_err.c e_nuron_err.h \
|
||||
e_sureware_err.c e_sureware_err.h \
|
||||
e_ubsec_err.c e_ubsec_err.h
|
||||
@@ -130,22 +130,22 @@ clean:
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
e_4758_cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_4758_cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_4758_cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
|
||||
e_4758_cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
|
||||
e_4758_cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
|
||||
e_4758_cca.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||
e_4758_cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
|
||||
e_4758_cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||
e_4758_cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
e_4758_cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
|
||||
e_4758_cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
|
||||
e_4758_cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
e_4758_cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
e_4758_cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
|
||||
e_4758_cca.o: e_4758_cca.c e_4758_cca_err.c e_4758_cca_err.h
|
||||
e_4758_cca.o: vendor_defns/hw_4758_cca.h
|
||||
e_4758cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_4758cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_4758cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
|
||||
e_4758cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
|
||||
e_4758cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
|
||||
e_4758cca.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||
e_4758cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
|
||||
e_4758cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||
e_4758cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
e_4758cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
|
||||
e_4758cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
|
||||
e_4758cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
e_4758cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
e_4758cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
|
||||
e_4758cca.o: e_4758cca.c e_4758cca_err.c e_4758cca_err.h
|
||||
e_4758cca.o: vendor_defns/hw_4758_cca.h
|
||||
e_aep.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_aep.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_aep.o: ../include/openssl/crypto.h ../include/openssl/dh.h
|
||||
@@ -168,6 +168,23 @@ e_atalla.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
|
||||
e_atalla.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
||||
e_atalla.o: ../include/openssl/symhacks.h e_atalla.c e_atalla_err.c
|
||||
e_atalla.o: e_atalla_err.h vendor_defns/atalla.h
|
||||
e_chil.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_chil.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_chil.o: ../include/openssl/crypto.h ../include/openssl/dh.h
|
||||
e_chil.o: ../include/openssl/dso.h ../include/openssl/e_os2.h
|
||||
e_chil.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
|
||||
e_chil.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
|
||||
e_chil.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||
e_chil.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
|
||||
e_chil.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||
e_chil.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
|
||||
e_chil.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||
e_chil.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||
e_chil.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||
e_chil.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||
e_chil.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
|
||||
e_chil.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h e_chil.c
|
||||
e_chil.o: e_chil_err.c e_chil_err.h vendor_defns/hwcryptohook.h
|
||||
e_cswift.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_cswift.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_cswift.o: ../include/openssl/crypto.h ../include/openssl/dh.h
|
||||
@@ -184,24 +201,6 @@ e_gmp.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||
e_gmp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
e_gmp.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
|
||||
e_gmp.o: ../include/openssl/stack.h ../include/openssl/symhacks.h e_gmp.c
|
||||
e_ncipher.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_ncipher.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_ncipher.o: ../include/openssl/crypto.h ../include/openssl/dh.h
|
||||
e_ncipher.o: ../include/openssl/dso.h ../include/openssl/e_os2.h
|
||||
e_ncipher.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
|
||||
e_ncipher.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
|
||||
e_ncipher.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||
e_ncipher.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
|
||||
e_ncipher.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||
e_ncipher.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
|
||||
e_ncipher.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||
e_ncipher.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||
e_ncipher.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||
e_ncipher.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||
e_ncipher.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
|
||||
e_ncipher.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
|
||||
e_ncipher.o: e_ncipher.c e_ncipher_err.c e_ncipher_err.h
|
||||
e_ncipher.o: vendor_defns/hwcryptohook.h
|
||||
e_nuron.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
e_nuron.o: ../include/openssl/bn.h ../include/openssl/buffer.h
|
||||
e_nuron.o: ../include/openssl/crypto.h ../include/openssl/dh.h
|
||||
|
@@ -1 +0,0 @@
|
||||
L CCA4758 e_4758_cca_err.h e_4758_cca_err.c
|
@@ -73,7 +73,7 @@
|
||||
#include "vendor_defns/hw_4758_cca.h"
|
||||
#endif
|
||||
|
||||
#include "e_4758_cca_err.c"
|
||||
#include "e_4758cca_err.c"
|
||||
|
||||
static int ibm_4758_cca_destroy(ENGINE *e);
|
||||
static int ibm_4758_cca_init(ENGINE *e);
|
||||
@@ -202,6 +202,8 @@ static RAND_METHOD ibm_4758_cca_rand =
|
||||
|
||||
static const char *engine_4758_cca_id = "4758cca";
|
||||
static const char *engine_4758_cca_name = "IBM 4758 CCA hardware engine support";
|
||||
/* Compatibility hack, the dynamic library uses this form in the path */
|
||||
static const char *engine_4758_cca_id_alt = "4758_cca";
|
||||
|
||||
/* engine implementation */
|
||||
/*-----------------------*/
|
||||
@@ -958,7 +960,8 @@ static void cca_ex_free(void *obj, void *item, CRYPTO_EX_DATA *ad, int idx,
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
static int bind_fn(ENGINE *e, const char *id)
|
||||
{
|
||||
if(id && (strcmp(id, engine_4758_cca_id) != 0))
|
||||
if(id && (strcmp(id, engine_4758_cca_id) != 0) &&
|
||||
(strcmp(id, engine_4758_cca_id_alt) != 0))
|
||||
return 0;
|
||||
if(!bind_helper(e))
|
||||
return 0;
|
1
engines/e_4758cca.ec
Normal file
1
engines/e_4758cca.ec
Normal file
@@ -0,0 +1 @@
|
||||
L CCA4758 e_4758cca_err.h e_4758cca_err.c
|
@@ -1,4 +1,4 @@
|
||||
/* e_4758_cca_err.c */
|
||||
/* e_4758cca_err.c */
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <openssl/err.h>
|
||||
#include "e_4758_cca_err.h"
|
||||
#include "e_4758cca_err.h"
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
@@ -1,4 +1,4 @@
|
||||
/* crypto/engine/hw_ncipher.c -*- mode: C; c-file-style: "eay" -*- */
|
||||
/* crypto/engine/e_chil.c -*- mode: C; c-file-style: "eay" -*- */
|
||||
/* Written by Richard Levitte (richard@levitte.org), Geoff Thorpe
|
||||
* (geoff@geoffthorpe.net) and Dr Stephen N Henson (shenson@bigfoot.com)
|
||||
* for the OpenSSL project 2000.
|
||||
@@ -70,7 +70,7 @@
|
||||
#include <openssl/bn.h>
|
||||
|
||||
#ifndef OPENSSL_NO_HW
|
||||
#ifndef OPENSSL_NO_HW_NCIPHER
|
||||
#ifndef OPENSSL_NO_HW_CHIL
|
||||
|
||||
/* Attribution notice: nCipher have said several times that it's OK for
|
||||
* us to implement a general interface to their boxes, and recently declared
|
||||
@@ -86,8 +86,8 @@
|
||||
#include "vendor_defns/hwcryptohook.h"
|
||||
#endif
|
||||
|
||||
#define HWCRHK_LIB_NAME "hwcrhk engine"
|
||||
#include "e_ncipher_err.c"
|
||||
#define HWCRHK_LIB_NAME "CHIL engine"
|
||||
#include "e_chil_err.c"
|
||||
|
||||
static int hwcrhk_destroy(ENGINE *e);
|
||||
static int hwcrhk_init(ENGINE *e);
|
||||
@@ -177,7 +177,7 @@ static const ENGINE_CMD_DEFN hwcrhk_cmd_defns[] = {
|
||||
/* Our internal RSA_METHOD that we provide pointers to */
|
||||
static RSA_METHOD hwcrhk_rsa =
|
||||
{
|
||||
"nCipher RSA method",
|
||||
"CHIL RSA method",
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -198,7 +198,7 @@ static RSA_METHOD hwcrhk_rsa =
|
||||
/* Our internal DH_METHOD that we provide pointers to */
|
||||
static DH_METHOD hwcrhk_dh =
|
||||
{
|
||||
"nCipher DH method",
|
||||
"CHIL DH method",
|
||||
NULL,
|
||||
NULL,
|
||||
hwcrhk_mod_exp_dh,
|
||||
@@ -212,7 +212,7 @@ static DH_METHOD hwcrhk_dh =
|
||||
|
||||
static RAND_METHOD hwcrhk_rand =
|
||||
{
|
||||
/* "nCipher RAND method", */
|
||||
/* "CHIL RAND method", */
|
||||
NULL,
|
||||
hwcrhk_rand_bytes,
|
||||
NULL,
|
||||
@@ -223,7 +223,9 @@ static RAND_METHOD hwcrhk_rand =
|
||||
|
||||
/* Constants used when creating the ENGINE */
|
||||
static const char *engine_hwcrhk_id = "chil";
|
||||
static const char *engine_hwcrhk_name = "nCipher hardware engine support";
|
||||
static const char *engine_hwcrhk_name = "CHIL hardware engine support";
|
||||
/* Compatibility hack, the dynamic library uses this form in the path */
|
||||
static const char *engine_hwcrhk_id_alt = "ncipher";
|
||||
|
||||
/* Internal stuff for HWCryptoHook */
|
||||
|
||||
@@ -323,7 +325,7 @@ static HWCryptoHook_InitInfo hwcrhk_globals = {
|
||||
|
||||
/* Now, to our own code */
|
||||
|
||||
/* This internal function is used by ENGINE_ncipher() and possibly by the
|
||||
/* This internal function is used by ENGINE_chil() and possibly by the
|
||||
* "dynamic" ENGINE support too */
|
||||
static int bind_helper(ENGINE *e)
|
||||
{
|
||||
@@ -379,7 +381,7 @@ static int bind_helper(ENGINE *e)
|
||||
}
|
||||
|
||||
#ifdef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
static ENGINE *engine_ncipher(void)
|
||||
static ENGINE *engine_chil(void)
|
||||
{
|
||||
ENGINE *ret = ENGINE_new();
|
||||
if(!ret)
|
||||
@@ -395,7 +397,7 @@ static ENGINE *engine_ncipher(void)
|
||||
void ENGINE_load_chil(void)
|
||||
{
|
||||
/* Copied from eng_[openssl|dyn].c */
|
||||
ENGINE *toadd = engine_ncipher();
|
||||
ENGINE *toadd = engine_chil();
|
||||
if(!toadd) return;
|
||||
ENGINE_add(toadd);
|
||||
ENGINE_free(toadd);
|
||||
@@ -491,7 +493,7 @@ static void release_context(HWCryptoHook_ContextHandle hac)
|
||||
p_hwcrhk_Finish(hac);
|
||||
}
|
||||
|
||||
/* Destructor (complements the "ENGINE_ncipher()" constructor) */
|
||||
/* Destructor (complements the "ENGINE_chil()" constructor) */
|
||||
static int hwcrhk_destroy(ENGINE *e)
|
||||
{
|
||||
free_HWCRHK_LIBNAME();
|
||||
@@ -1343,7 +1345,8 @@ static void hwcrhk_log_message(void *logstr, const char *message)
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
static int bind_fn(ENGINE *e, const char *id)
|
||||
{
|
||||
if(id && (strcmp(id, engine_hwcrhk_id) != 0))
|
||||
if(id && (strcmp(id, engine_hwcrhk_id) != 0) &&
|
||||
(strcmp(id, engine_hwcrhk_id_alt) != 0))
|
||||
return 0;
|
||||
if(!bind_helper(e))
|
||||
return 0;
|
||||
@@ -1353,5 +1356,5 @@ IMPLEMENT_DYNAMIC_CHECK_FN()
|
||||
IMPLEMENT_DYNAMIC_BIND_FN(bind_fn)
|
||||
#endif /* OPENSSL_NO_DYNAMIC_ENGINE */
|
||||
|
||||
#endif /* !OPENSSL_NO_HW_NCIPHER */
|
||||
#endif /* !OPENSSL_NO_HW_CHIL */
|
||||
#endif /* !OPENSSL_NO_HW */
|
1
engines/e_chil.ec
Normal file
1
engines/e_chil.ec
Normal file
@@ -0,0 +1 @@
|
||||
L HWCRHK e_chil_err.h e_chil_err.c
|
@@ -1,4 +1,4 @@
|
||||
/* e_ncipher_err.c */
|
||||
/* e_chil_err.c */
|
||||
/* ====================================================================
|
||||
* Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <openssl/err.h>
|
||||
#include "e_ncipher_err.h"
|
||||
#include "e_chil_err.h"
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
@@ -1 +0,0 @@
|
||||
L HWCRHK e_ncipher_err.h e_ncipher_err.c
|
@@ -34,7 +34,7 @@ $! Set the names of the engines we want to build
|
||||
$!
|
||||
$ ENGINES = "," + P6
|
||||
$ IF ENGINES .EQS. "," THEN -
|
||||
ENGINES = ",4758_cca,aep,atalla,cswift,ncipher,nuron,sureware,ubsec"
|
||||
ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec"
|
||||
$!
|
||||
$! Set the default TCP/IP library to link against if needed
|
||||
$!
|
||||
@@ -79,11 +79,11 @@ $ THEN
|
||||
$ ENGINE_ = "engine_vector.mar"
|
||||
$ EXTRA_OBJ := ,'OBJ_DIR'ENGINE_VECTOR.OBJ
|
||||
$ ENDIF
|
||||
$ ENGINE_4758_CCA = "e_4758_cca"
|
||||
$ ENGINE_4758CCA = "e_4758cca"
|
||||
$ ENGINE_aep = "e_aep"
|
||||
$ ENGINE_atalla = "e_atalla"
|
||||
$ ENGINE_cswift = "e_cswift"
|
||||
$ ENGINE_ncipher = "e_ncipher"
|
||||
$ ENGINE_chil = "e_chil"
|
||||
$ ENGINE_nuron = "e_nuron"
|
||||
$ ENGINE_sureware = "e_sureware"
|
||||
$ ENGINE_ubsec = "e_ubsec"
|
||||
|
@@ -428,7 +428,7 @@ $ SDIRS := ,-
|
||||
BN,EC,RSA,DSA,ECDSA,DH,ECDH,DSO,ENGINE,AES,-
|
||||
BUFFER,BIO,STACK,LHASH,RAND,ERR,-
|
||||
EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP,OCSP,UI,KRB5,-
|
||||
STORE
|
||||
STORE,PQUEUE
|
||||
$ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h,symhacks.h,-
|
||||
ossl_typ.h
|
||||
$ EXHEADER_OBJECTS := objects.h,obj_mac.h
|
||||
@@ -477,6 +477,7 @@ $ EXHEADER_UI := ui.h,ui_compat.h
|
||||
$ EXHEADER_KRB5 := krb5_asn.h
|
||||
$!EXHEADER_STORE := store.h,str_compat.h
|
||||
$ EXHEADER_STORE := store.h
|
||||
$ EXHEADER_PQUEUE := pqueue.h,pq_compat.h
|
||||
$
|
||||
$ I = 0
|
||||
$ LOOP_SDIRS:
|
||||
|
970
ssl/Makefile
970
ssl/Makefile
File diff suppressed because it is too large
Load Diff
@@ -442,6 +442,7 @@ dtls1_buffer_handshake_fragment(SSL *s, struct hm_header_st* msg_hdr)
|
||||
{
|
||||
hm_fragment *frag = NULL;
|
||||
pitem *item = NULL;
|
||||
PQ_64BIT seq64;
|
||||
|
||||
frag = dtls1_hm_fragment_new(msg_hdr->frag_len);
|
||||
if ( frag == NULL)
|
||||
@@ -452,10 +453,15 @@ dtls1_buffer_handshake_fragment(SSL *s, struct hm_header_st* msg_hdr)
|
||||
|
||||
memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
|
||||
|
||||
item = pitem_new(msg_hdr->seq, frag);
|
||||
pq_64bit_init(&seq64);
|
||||
pq_64bit_assign_word(&seq64, msg_hdr->seq);
|
||||
|
||||
item = pitem_new(seq64, frag);
|
||||
if ( item == NULL)
|
||||
goto err;
|
||||
|
||||
pq_64bit_free(&seq64);
|
||||
|
||||
pqueue_insert(s->d1->buffered_messages, item);
|
||||
return 1;
|
||||
|
||||
@@ -1037,6 +1043,7 @@ dtls1_buffer_message(SSL *s, int is_ccs)
|
||||
{
|
||||
pitem *item;
|
||||
hm_fragment *frag;
|
||||
PQ_64BIT seq64;
|
||||
|
||||
/* this function is called immediately after a message has
|
||||
* been serialized */
|
||||
@@ -1064,7 +1071,11 @@ dtls1_buffer_message(SSL *s, int is_ccs)
|
||||
frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len;
|
||||
frag->msg_header.is_ccs = is_ccs;
|
||||
|
||||
item = pitem_new(frag->msg_header.seq, frag);
|
||||
pq_64bit_init(&seq64);
|
||||
pq_64bit_assign_word(&seq64, frag->msg_header.seq);
|
||||
|
||||
item = pitem_new(seq64, frag);
|
||||
pq_64bit_free(&seq64);
|
||||
if ( item == NULL)
|
||||
{
|
||||
dtls1_hm_fragment_free(frag);
|
||||
@@ -1090,6 +1101,7 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
|
||||
pitem *item;
|
||||
hm_fragment *frag ;
|
||||
unsigned long header_length;
|
||||
PQ_64BIT seq64;
|
||||
|
||||
/*
|
||||
OPENSSL_assert(s->init_num == 0);
|
||||
@@ -1097,7 +1109,11 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
|
||||
*/
|
||||
|
||||
/* XDTLS: the requested message ought to be found, otherwise error */
|
||||
item = pqueue_find(s->d1->sent_messages, seq);
|
||||
pq_64bit_init(&seq64);
|
||||
pq_64bit_assign_word(&seq64, seq);
|
||||
|
||||
item = pqueue_find(s->d1->sent_messages, seq64);
|
||||
pq_64bit_free(&seq64);
|
||||
if ( item == NULL)
|
||||
{
|
||||
fprintf(stderr, "retransmit: message %d non-existant\n", seq);
|
||||
|
20
ssl/d1_lib.c
20
ssl/d1_lib.c
@@ -132,10 +132,20 @@ int dtls1_new(SSL *s)
|
||||
memset(d1,0, sizeof *d1);
|
||||
|
||||
/* d1->handshake_epoch=0; */
|
||||
#if defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)
|
||||
d1->bitmap.length=64;
|
||||
#else
|
||||
d1->bitmap.length=sizeof(d1->bitmap.map) * 8;
|
||||
#endif
|
||||
pq_64bit_init(&(d1->bitmap.map));
|
||||
pq_64bit_init(&(d1->bitmap.max_seq_num));
|
||||
|
||||
pq_64bit_init(&(d1->next_bitmap.map));
|
||||
pq_64bit_init(&(d1->next_bitmap.max_seq_num));
|
||||
|
||||
d1->unprocessed_rcds.q=pqueue_new();
|
||||
d1->processed_rcds.q=pqueue_new();
|
||||
d1->buffered_messages = pqueue_new();
|
||||
d1->processed_rcds.q=pqueue_new();
|
||||
d1->buffered_messages = pqueue_new();
|
||||
d1->sent_messages=pqueue_new();
|
||||
|
||||
if ( s->server)
|
||||
@@ -198,6 +208,12 @@ void dtls1_free(SSL *s)
|
||||
}
|
||||
pqueue_free(s->d1->sent_messages);
|
||||
|
||||
pq_64bit_free(&(s->d1->bitmap.map));
|
||||
pq_64bit_free(&(s->d1->bitmap.max_seq_num));
|
||||
|
||||
pq_64bit_free(&(s->d1->next_bitmap.map));
|
||||
pq_64bit_free(&(s->d1->next_bitmap.max_seq_num));
|
||||
|
||||
OPENSSL_free(s->d1);
|
||||
}
|
||||
|
||||
|
184
ssl/d1_pkt.c
184
ssl/d1_pkt.c
@@ -124,7 +124,7 @@
|
||||
static int have_handshake_fragment(SSL *s, int type, unsigned char *buf,
|
||||
int len, int peek);
|
||||
static int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap,
|
||||
BN_ULLONG *seq_num);
|
||||
PQ_64BIT *seq_num);
|
||||
static void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
static DTLS1_BITMAP *dtls1_get_bitmap(SSL *s, SSL3_RECORD *rr,
|
||||
unsigned int *is_next_epoch);
|
||||
@@ -133,13 +133,13 @@ static int dtls1_record_needs_buffering(SSL *s, SSL3_RECORD *rr,
|
||||
unsigned short *priority, unsigned long *offset);
|
||||
#endif
|
||||
static int dtls1_buffer_record(SSL *s, record_pqueue *q,
|
||||
BN_ULLONG priority);
|
||||
PQ_64BIT priority);
|
||||
static int dtls1_process_record(SSL *s);
|
||||
static BN_ULLONG bytes_to_long_long(unsigned char *bytes);
|
||||
static void long_long_to_bytes(BN_ULLONG num, unsigned char *bytes);
|
||||
#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST))
|
||||
static PQ_64BIT bytes_to_long_long(unsigned char *bytes, PQ_64BIT *num);
|
||||
#endif
|
||||
static void dtls1_clear_timeouts(SSL *s);
|
||||
|
||||
|
||||
/* copy buffered record into SSL structure */
|
||||
static int
|
||||
dtls1_copy_record(SSL *s, pitem *item)
|
||||
@@ -161,7 +161,7 @@ dtls1_copy_record(SSL *s, pitem *item)
|
||||
|
||||
|
||||
static int
|
||||
dtls1_buffer_record(SSL *s, record_pqueue *queue, BN_ULLONG priority)
|
||||
dtls1_buffer_record(SSL *s, record_pqueue *queue, PQ_64BIT priority)
|
||||
{
|
||||
DTLS1_RECORD_DATA *rdata;
|
||||
pitem *item;
|
||||
@@ -275,9 +275,9 @@ static int
|
||||
dtls1_get_buffered_record(SSL *s)
|
||||
{
|
||||
pitem *item;
|
||||
BN_ULLONG priority =
|
||||
(((BN_ULLONG)s->d1->handshake_read_seq) << 32) |
|
||||
((BN_ULLONG)s->d1->r_msg_hdr.frag_off);
|
||||
PQ_64BIT priority =
|
||||
(((PQ_64BIT)s->d1->handshake_read_seq) << 32) |
|
||||
((PQ_64BIT)s->d1->r_msg_hdr.frag_off);
|
||||
|
||||
if ( ! SSL_in_init(s)) /* if we're not (re)negotiating,
|
||||
nothing buffered */
|
||||
@@ -482,7 +482,6 @@ int dtls1_get_record(SSL *s)
|
||||
unsigned char *p;
|
||||
short version;
|
||||
DTLS1_BITMAP *bitmap;
|
||||
BN_ULLONG read_sequence;
|
||||
unsigned int is_next_epoch;
|
||||
|
||||
rr= &(s->s3->rrec);
|
||||
@@ -522,9 +521,9 @@ again:
|
||||
/* sequence number is 64 bits, with top 2 bytes = epoch */
|
||||
n2s(p,rr->epoch);
|
||||
|
||||
read_sequence = 0;
|
||||
n2l6(p, read_sequence);
|
||||
long_long_to_bytes(read_sequence, s->s3->read_sequence);
|
||||
memcpy(&(s->s3->read_sequence[2]), p, 6);
|
||||
p+=6;
|
||||
|
||||
n2s(p,rr->length);
|
||||
|
||||
/* Lets check version */
|
||||
@@ -1406,7 +1405,8 @@ int do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len,
|
||||
/* else
|
||||
s2n(s->d1->handshake_epoch, pseq); */
|
||||
|
||||
l2n6(bytes_to_long_long(s->s3->write_sequence), pseq);
|
||||
memcpy(pseq, &(s->s3->write_sequence[2]), 6);
|
||||
pseq+=6;
|
||||
s2n(wr->length,pseq);
|
||||
|
||||
/* we should now have
|
||||
@@ -1419,7 +1419,7 @@ int do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len,
|
||||
/* buffer the record, making it easy to handle retransmits */
|
||||
if ( type == SSL3_RT_HANDSHAKE || type == SSL3_RT_CHANGE_CIPHER_SPEC)
|
||||
dtls1_buffer_record(s, wr->data, wr->length,
|
||||
*((BN_ULLONG *)&(s->s3->write_sequence[0])));
|
||||
*((PQ_64BIT *)&(s->s3->write_sequence[0])));
|
||||
#endif
|
||||
|
||||
ssl3_record_sequence_update(&(s->s3->write_sequence[0]));
|
||||
@@ -1451,27 +1451,60 @@ err:
|
||||
|
||||
|
||||
static int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap,
|
||||
BN_ULLONG *seq_num)
|
||||
PQ_64BIT *seq_num)
|
||||
{
|
||||
BN_ULLONG mask = 0x0000000000000001L;
|
||||
BN_ULLONG rcd_num;
|
||||
#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST))
|
||||
PQ_64BIT mask = 0x0000000000000001L;
|
||||
#endif
|
||||
PQ_64BIT rcd_num, tmp;
|
||||
|
||||
pq_64bit_init(&rcd_num);
|
||||
pq_64bit_init(&tmp);
|
||||
|
||||
/* this is the sequence number for the record just read */
|
||||
pq_64bit_bin2num(&rcd_num, s->s3->read_sequence, 8);
|
||||
|
||||
rcd_num = bytes_to_long_long(s->s3->read_sequence);
|
||||
|
||||
if (rcd_num >= bitmap->max_seq_num)
|
||||
if (pq_64bit_gt(&rcd_num, &(bitmap->max_seq_num)) ||
|
||||
pq_64bit_eq(&rcd_num, &(bitmap->max_seq_num)))
|
||||
{
|
||||
*seq_num = rcd_num;
|
||||
pq_64bit_assign(seq_num, &rcd_num);
|
||||
pq_64bit_free(&rcd_num);
|
||||
pq_64bit_free(&tmp);
|
||||
return 1; /* this record is new */
|
||||
}
|
||||
|
||||
if (bitmap->max_seq_num - rcd_num > bitmap->length)
|
||||
return 0; /* stale, outside the window */
|
||||
|
||||
pq_64bit_sub(&tmp, &(bitmap->max_seq_num), &rcd_num);
|
||||
|
||||
if ( pq_64bit_get_word(&tmp) > bitmap->length)
|
||||
{
|
||||
pq_64bit_free(&rcd_num);
|
||||
pq_64bit_free(&tmp);
|
||||
return 0; /* stale, outside the window */
|
||||
}
|
||||
|
||||
#if (defined(OPENSSL_SYS_VMS) || defined(VMS_TEST))
|
||||
{
|
||||
int offset;
|
||||
pq_64bit_sub(&tmp, &(bitmap->max_seq_num), &rcd_num);
|
||||
pq_64bit_sub_word(&tmp, 1);
|
||||
offset = pq_64bit_get_word(&tmp);
|
||||
if ( pq_64bit_is_bit_set(&(bitmap->map), offset))
|
||||
{
|
||||
pq_64bit_free(&rcd_num);
|
||||
pq_64bit_free(&tmp);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
mask <<= (bitmap->max_seq_num - rcd_num - 1);
|
||||
if (bitmap->map & mask)
|
||||
return 0; /* record previously received */
|
||||
#endif
|
||||
|
||||
*seq_num = rcd_num;
|
||||
pq_64bit_assign(seq_num, &rcd_num);
|
||||
pq_64bit_free(&rcd_num);
|
||||
pq_64bit_free(&tmp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1479,23 +1512,49 @@ static int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap,
|
||||
static void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap)
|
||||
{
|
||||
unsigned int shift;
|
||||
BN_ULLONG mask = 0x0000000000000001L;
|
||||
BN_ULLONG rcd_num;
|
||||
PQ_64BIT rcd_num;
|
||||
PQ_64BIT tmp;
|
||||
PQ_64BIT_CTX *ctx;
|
||||
|
||||
rcd_num = bytes_to_long_long(s->s3->read_sequence);
|
||||
pq_64bit_init(&rcd_num);
|
||||
pq_64bit_init(&tmp);
|
||||
|
||||
if (rcd_num >= bitmap->max_seq_num)
|
||||
pq_64bit_bin2num(&rcd_num, s->s3->read_sequence, 8);
|
||||
|
||||
/* unfortunate code complexity due to 64-bit manipulation support
|
||||
* on 32-bit machines */
|
||||
if ( pq_64bit_gt(&rcd_num, &(bitmap->max_seq_num)) ||
|
||||
pq_64bit_eq(&rcd_num, &(bitmap->max_seq_num)))
|
||||
{
|
||||
shift = (unsigned int)(rcd_num - bitmap->max_seq_num) + 1;
|
||||
bitmap->max_seq_num = rcd_num + 1;
|
||||
bitmap->map <<= shift;
|
||||
bitmap->map |= 0x0000000000000001L;
|
||||
pq_64bit_sub(&tmp, &rcd_num, &(bitmap->max_seq_num));
|
||||
pq_64bit_add_word(&tmp, 1);
|
||||
|
||||
shift = (unsigned int)pq_64bit_get_word(&tmp);
|
||||
|
||||
pq_64bit_lshift(&(tmp), &(bitmap->map), shift);
|
||||
pq_64bit_assign(&(bitmap->map), &tmp);
|
||||
|
||||
pq_64bit_set_bit(&(bitmap->map), 0);
|
||||
pq_64bit_add_word(&rcd_num, 1);
|
||||
pq_64bit_assign(&(bitmap->max_seq_num), &rcd_num);
|
||||
|
||||
pq_64bit_assign_word(&tmp, 1);
|
||||
pq_64bit_lshift(&tmp, &tmp, bitmap->length);
|
||||
ctx = pq_64bit_ctx_new(&ctx);
|
||||
pq_64bit_mod(&(bitmap->map), &(bitmap->map), &tmp, ctx);
|
||||
pq_64bit_ctx_free(ctx);
|
||||
}
|
||||
else
|
||||
{
|
||||
mask <<= (bitmap->max_seq_num - rcd_num - 1);
|
||||
bitmap->map |= mask;
|
||||
pq_64bit_sub(&tmp, &(bitmap->max_seq_num), &rcd_num);
|
||||
pq_64bit_sub_word(&tmp, 1);
|
||||
shift = (unsigned int)pq_64bit_get_word(&tmp);
|
||||
|
||||
pq_64bit_set_bit(&(bitmap->map), shift);
|
||||
}
|
||||
|
||||
pq_64bit_free(&rcd_num);
|
||||
pq_64bit_free(&tmp);
|
||||
}
|
||||
|
||||
|
||||
@@ -1656,8 +1715,17 @@ dtls1_reset_seq_numbers(SSL *s, int rw)
|
||||
{
|
||||
seq = s->s3->read_sequence;
|
||||
s->d1->r_epoch++;
|
||||
memcpy(&(s->d1->bitmap), &(s->d1->next_bitmap), sizeof(DTLS1_BITMAP));
|
||||
|
||||
pq_64bit_assign(&(s->d1->bitmap.map), &(s->d1->next_bitmap.map));
|
||||
s->d1->bitmap.length = s->d1->next_bitmap.length;
|
||||
pq_64bit_assign(&(s->d1->bitmap.max_seq_num),
|
||||
&(s->d1->next_bitmap.max_seq_num));
|
||||
|
||||
pq_64bit_free(&(s->d1->next_bitmap.map));
|
||||
pq_64bit_free(&(s->d1->next_bitmap.max_seq_num));
|
||||
memset(&(s->d1->next_bitmap), 0x00, sizeof(DTLS1_BITMAP));
|
||||
pq_64bit_init(&(s->d1->next_bitmap.map));
|
||||
pq_64bit_init(&(s->d1->next_bitmap.max_seq_num));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1668,36 +1736,26 @@ dtls1_reset_seq_numbers(SSL *s, int rw)
|
||||
memset(seq, 0x00, seq_bytes);
|
||||
}
|
||||
|
||||
#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST))
|
||||
static PQ_64BIT
|
||||
bytes_to_long_long(unsigned char *bytes, PQ_64BIT *num)
|
||||
{
|
||||
PQ_64BIT _num;
|
||||
|
||||
static BN_ULLONG
|
||||
bytes_to_long_long(unsigned char *bytes)
|
||||
{
|
||||
BN_ULLONG num;
|
||||
_num = (((PQ_64BIT)bytes[0]) << 56) |
|
||||
(((PQ_64BIT)bytes[1]) << 48) |
|
||||
(((PQ_64BIT)bytes[2]) << 40) |
|
||||
(((PQ_64BIT)bytes[3]) << 32) |
|
||||
(((PQ_64BIT)bytes[4]) << 24) |
|
||||
(((PQ_64BIT)bytes[5]) << 16) |
|
||||
(((PQ_64BIT)bytes[6]) << 8) |
|
||||
(((PQ_64BIT)bytes[7]) );
|
||||
|
||||
num = (((BN_ULLONG)bytes[0]) << 56) |
|
||||
(((BN_ULLONG)bytes[1]) << 48) |
|
||||
(((BN_ULLONG)bytes[2]) << 40) |
|
||||
(((BN_ULLONG)bytes[3]) << 32) |
|
||||
(((BN_ULLONG)bytes[4]) << 24) |
|
||||
(((BN_ULLONG)bytes[5]) << 16) |
|
||||
(((BN_ULLONG)bytes[6]) << 8) |
|
||||
(((BN_ULLONG)bytes[7]) );
|
||||
*num = _num ;
|
||||
return _num;
|
||||
}
|
||||
#endif
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
static void
|
||||
long_long_to_bytes(BN_ULLONG num, unsigned char *bytes)
|
||||
{
|
||||
bytes[0] = (unsigned char)((num >> 56)&0xff);
|
||||
bytes[1] = (unsigned char)((num >> 48)&0xff);
|
||||
bytes[2] = (unsigned char)((num >> 40)&0xff);
|
||||
bytes[3] = (unsigned char)((num >> 32)&0xff);
|
||||
bytes[4] = (unsigned char)((num >> 24)&0xff);
|
||||
bytes[5] = (unsigned char)((num >> 16)&0xff);
|
||||
bytes[6] = (unsigned char)((num >> 8)&0xff);
|
||||
bytes[7] = (unsigned char)((num )&0xff);
|
||||
}
|
||||
|
||||
static void
|
||||
dtls1_clear_timeouts(SSL *s)
|
||||
|
@@ -90,9 +90,9 @@ extern "C" {
|
||||
|
||||
typedef struct dtls1_bitmap_st
|
||||
{
|
||||
BN_ULLONG map;
|
||||
PQ_64BIT map;
|
||||
unsigned long length; /* sizeof the bitmap in bits */
|
||||
BN_ULLONG max_seq_num; /* max record number seen so far */
|
||||
PQ_64BIT max_seq_num; /* max record number seen so far */
|
||||
} DTLS1_BITMAP;
|
||||
|
||||
struct hm_header_st
|
||||
@@ -162,9 +162,6 @@ typedef struct dtls1_state_st
|
||||
|
||||
unsigned short handshake_read_seq;
|
||||
|
||||
/* only matters for handshake messages */
|
||||
BN_ULLONG next_expected_seq_num;
|
||||
|
||||
/* Received handshake records (processed and unprocessed) */
|
||||
record_pqueue unprocessed_rcds;
|
||||
record_pqueue processed_rcds;
|
||||
|
@@ -128,6 +128,7 @@
|
||||
#include "kssl_lcl.h"
|
||||
#include <openssl/md5.h>
|
||||
#include <openssl/dh.h>
|
||||
#include <openssl/pq_compat.h>
|
||||
|
||||
const char *ssl3_version_str="SSLv3" OPENSSL_VERSION_PTEXT;
|
||||
|
||||
@@ -1441,6 +1442,8 @@ int ssl3_new(SSL *s)
|
||||
memset(s3,0,sizeof *s3);
|
||||
EVP_MD_CTX_init(&s3->finish_dgst1);
|
||||
EVP_MD_CTX_init(&s3->finish_dgst2);
|
||||
pq_64bit_init(&(s3->rrec.seq_num));
|
||||
pq_64bit_init(&(s3->wrec.seq_num));
|
||||
|
||||
s->s3=s3;
|
||||
|
||||
@@ -1475,6 +1478,9 @@ void ssl3_free(SSL *s)
|
||||
sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
|
||||
EVP_MD_CTX_cleanup(&s->s3->finish_dgst1);
|
||||
EVP_MD_CTX_cleanup(&s->s3->finish_dgst2);
|
||||
pq_64bit_free(&(s->s3->rrec.seq_num));
|
||||
pq_64bit_free(&(s->s3->wrec.seq_num));
|
||||
|
||||
OPENSSL_cleanse(s->s3,sizeof *s->s3);
|
||||
OPENSSL_free(s->s3);
|
||||
s->s3=NULL;
|
||||
|
@@ -749,7 +749,7 @@ $ CCDEFS = "TCPIP_TYPE_''P4'"
|
||||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
@@ -123,6 +123,7 @@
|
||||
#include <openssl/buffer.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/pq_compat.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -295,7 +296,7 @@ typedef struct ssl3_record_st
|
||||
/*rw*/ unsigned char *input; /* where the decode bytes are */
|
||||
/*r */ unsigned char *comp; /* only used with decompression - malloc()ed */
|
||||
/*r */ unsigned long epoch; /* epoch number, needed by DTLS1 */
|
||||
/*r */ BN_ULLONG seq_num; /* sequence number, needed by DTLS1 */
|
||||
/*r */ PQ_64BIT seq_num; /* sequence number, needed by DTLS1 */
|
||||
} SSL3_RECORD;
|
||||
|
||||
typedef struct ssl3_buffer_st
|
||||
|
@@ -609,11 +609,12 @@ ssltest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
|
||||
ssltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||
ssltest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
|
||||
ssltest.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||
ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/pqueue.h
|
||||
ssltest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
|
||||
ssltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
ssltest.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||
ssltest.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||
ssltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
ssltest.o: ../include/openssl/tls1.h ../include/openssl/x509.h
|
||||
ssltest.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h ssltest.c
|
||||
ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/pq_compat.h
|
||||
ssltest.o: ../include/openssl/pqueue.h ../include/openssl/rand.h
|
||||
ssltest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||
ssltest.o: ../include/openssl/sha.h ../include/openssl/ssl.h
|
||||
ssltest.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
||||
ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
||||
ssltest.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
||||
ssltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
|
||||
ssltest.o: ../include/openssl/x509v3.h ssltest.c
|
||||
|
@@ -588,7 +588,7 @@ $ CCDEFS = "TCPIP_TYPE_''P3'"
|
||||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
960
util/libeay.num
960
util/libeay.num
@@ -2876,483 +2876,489 @@ EVP_sha256 3315 EXIST::FUNCTION:SHA,SHA256
|
||||
FIPS_selftest_hmac 3316 NOEXIST::FUNCTION:
|
||||
FIPS_corrupt_rng 3317 NOEXIST::FUNCTION:
|
||||
BN_mod_exp_mont_consttime 3318 EXIST::FUNCTION:
|
||||
EVP_PKEY_cmp 3319 EXIST::FUNCTION:
|
||||
PEM_write_ECPKParameters 3320 EXIST:!WIN16:FUNCTION:EC
|
||||
STORE_list_private_key_end 3321 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY_bio 3322 EXIST::FUNCTION:BIO,EC
|
||||
BUF_memdup 3323 EXIST::FUNCTION:
|
||||
NAME_CONSTRAINTS_it 3324 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
NAME_CONSTRAINTS_it 3324 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
EC_KEY_copy 3325 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_get0_cstr 3326 EXIST::FUNCTION:
|
||||
STORE_list_crl_end 3327 EXIST::FUNCTION:
|
||||
EC_KEY_set_asn1_flag 3328 EXIST::FUNCTION:EC
|
||||
X509_VERIFY_PARAM_free 3329 EXIST::FUNCTION:
|
||||
EC_POINT_set_compressed_coordinates_GF2m 3330 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_set_compr_coords_GF2m 3330 EXIST:VMS:FUNCTION:EC
|
||||
ASN1_generate_nconf 3331 EXIST::FUNCTION:
|
||||
ECPKParameters_print 3332 EXIST::FUNCTION:BIO,EC
|
||||
OBJ_bsearch_ex 3333 EXIST::FUNCTION:
|
||||
EC_GROUP_get_curve_GF2m 3334 EXIST::FUNCTION:EC
|
||||
STORE_method_set_store_function 3335 EXIST::FUNCTION:
|
||||
d2i_ECPrivateKey_fp 3336 EXIST::FUNCTION:EC,FP_API
|
||||
EC_KEY_up_ref 3337 EXIST::FUNCTION:EC
|
||||
SHA384_Final 3338 EXIST::FUNCTION:SHA,SHA512
|
||||
EC_POINT_point2bn 3339 EXIST::FUNCTION:EC
|
||||
STORE_modify_private_key 3340 EXIST::FUNCTION:
|
||||
ENGINE_get_ECDSA 3341 EXIST::FUNCTION:ENGINE
|
||||
ECDSA_verify 3342 EXIST::FUNCTION:ECDSA
|
||||
STORE_list_certificate_next 3343 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_sqr_arr 3344 EXIST::FUNCTION:
|
||||
STORE_OBJECT_free 3345 EXIST::FUNCTION:
|
||||
STORE_delete_crl 3346 EXIST::FUNCTION:
|
||||
X509_CERT_PAIR_it 3347 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
X509_CERT_PAIR_it 3347 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
X509_VERIFY_PARAM_set_purpose 3348 EXIST::FUNCTION:
|
||||
EC_GROUP_get_asn1_flag 3349 EXIST::FUNCTION:EC
|
||||
EC_POINT_set_affine_coordinates_GF2m 3350 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_set_affine_coords_GF2m 3350 EXIST:VMS:FUNCTION:EC
|
||||
X509_VERIFY_PARAM_set1_name 3351 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_depth 3352 EXIST::FUNCTION:
|
||||
OPENSSL_ia32cap_loc 3353 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set1 3354 EXIST::FUNCTION:
|
||||
PEM_write_ECPrivateKey 3355 EXIST:!WIN16:FUNCTION:EC
|
||||
EC_GROUP_cmp 3356 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_modify_sha1str 3357 EXIST::FUNCTION:
|
||||
i2o_ECPublicKey 3358 EXIST::FUNCTION:EC
|
||||
EVP_PKEY_get_attr_by_NID 3359 EXIST::FUNCTION:
|
||||
ASN1_item_ndef_i2d 3360 EXIST::FUNCTION:
|
||||
STORE_method_set_modify_function 3361 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_modify_fn 3361 EXIST:VMS:FUNCTION:
|
||||
POLICY_CONSTRAINTS_new 3362 EXIST::FUNCTION:
|
||||
STORE_method_get_generate_function 3363 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_generate_fn 3363 EXIST:VMS:FUNCTION:
|
||||
STORE_list_public_key_endp 3364 EXIST::FUNCTION:
|
||||
BN_BLINDING_convert_ex 3365 EXIST::FUNCTION:
|
||||
STORE_get_ex_new_index 3366 EXIST::FUNCTION:
|
||||
X509_policy_node_get0_qualifiers 3367 EXIST:!VMS:FUNCTION:
|
||||
X509_pcy_node_get0_qualifiers 3367 EXIST:VMS:FUNCTION:
|
||||
EC_GF2m_simple_method 3368 EXIST::FUNCTION:EC
|
||||
STORE_method_get_get_function 3369 EXIST::FUNCTION:
|
||||
EC_GROUP_get_curve_name 3370 EXIST::FUNCTION:EC
|
||||
PEM_write_X509_CERT_PAIR 3371 EXIST:!WIN16:FUNCTION:
|
||||
ENGINE_set_default_ECDH 3372 EXIST::FUNCTION:ENGINE
|
||||
ERR_set_mark 3373 EXIST::FUNCTION:
|
||||
sk_find_ex 3374 EXIST::FUNCTION:
|
||||
PEM_read_bio_ECPrivateKey 3375 EXIST::FUNCTION:EC
|
||||
BN_GF2m_mod_div_arr 3376 EXIST::FUNCTION:
|
||||
i2d_X509_CERT_PAIR 3377 EXIST::FUNCTION:
|
||||
BN_BLINDING_get_thread_id 3378 EXIST::FUNCTION:
|
||||
EC_get_builtin_curves 3379 EXIST::FUNCTION:EC
|
||||
NAME_CONSTRAINTS_new 3380 EXIST::FUNCTION:
|
||||
EVP_PKEY_delete_attr 3381 EXIST::FUNCTION:
|
||||
DSA_generate_parameters_ex 3382 EXIST::FUNCTION:DSA
|
||||
X509_VERIFY_PARAM_set_time 3383 EXIST::FUNCTION:
|
||||
STORE_delete_private_key 3384 EXIST::FUNCTION:
|
||||
STORE_method_set_cleanup_function 3385 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_cleanup_fn 3385 EXIST:VMS:FUNCTION:
|
||||
PEM_read_bio_X509_CERT_PAIR 3386 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_get0_number 3387 EXIST::FUNCTION:
|
||||
BN_generate_prime_ex 3388 EXIST::FUNCTION:
|
||||
STORE_get_number 3389 EXIST::FUNCTION:
|
||||
ECDH_compute_key 3390 EXIST::FUNCTION:ECDH
|
||||
asn1_const_Finish 3391 EXIST::FUNCTION:
|
||||
STORE_method_get_store_function 3392 EXIST::FUNCTION:
|
||||
STORE_parse_attrs_endp 3393 EXIST::FUNCTION:
|
||||
STORE_list_private_key_endp 3394 EXIST::FUNCTION:
|
||||
BN_BLINDING_set_thread_id 3395 EXIST::FUNCTION:
|
||||
STORE_destroy_method 3396 EXIST::FUNCTION:
|
||||
BN_nist_mod_521 3397 EXIST::FUNCTION:
|
||||
EC_KEY_precompute_mult 3398 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_free 3399 EXIST::FUNCTION:
|
||||
STORE_store_crl 3400 EXIST::FUNCTION:
|
||||
EVP_PKEY_add1_attr_by_OBJ 3401 EXIST::FUNCTION:
|
||||
PKCS7_set_digest 3402 EXIST::FUNCTION:
|
||||
ECDH_get_ex_data 3403 EXIST::FUNCTION:ECDH
|
||||
d2i_ECPrivateKey_bio 3404 EXIST::FUNCTION:BIO,EC
|
||||
BN_GF2m_mod_sqr 3405 EXIST::FUNCTION:
|
||||
STORE_list_certificate_start 3406 EXIST::FUNCTION:
|
||||
i2d_ECPrivateKey_bio 3407 EXIST::FUNCTION:BIO,EC
|
||||
STORE_modify_crl 3408 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_div 3409 EXIST::FUNCTION:
|
||||
STORE_new_method 3410 EXIST::FUNCTION:
|
||||
ENGINE_register_STORE 3411 EXIST::FUNCTION:ENGINE
|
||||
STORE_method_get_delete_function 3412 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_delete_fn 3412 EXIST:VMS:FUNCTION:
|
||||
STORE_list_crl_start 3413 EXIST::FUNCTION:
|
||||
ECDH_set_default_method 3414 EXIST::FUNCTION:ECDH
|
||||
STORE_method_get_cleanup_function 3415 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_cleanup_fn 3415 EXIST:VMS:FUNCTION:
|
||||
ECDSA_SIG_new 3416 EXIST::FUNCTION:ECDSA
|
||||
OPENSSL_DIR_end 3417 EXIST::FUNCTION:
|
||||
ECDSA_SIG_free 3418 EXIST::FUNCTION:ECDSA
|
||||
BIO_dump_indent_fp 3419 EXIST::FUNCTION:FP_API
|
||||
EC_GROUP_get_basis_type 3420 EXIST::FUNCTION:EC
|
||||
pqueue_insert 3421 EXIST::FUNCTION:
|
||||
EC_KEY_print 3422 EXIST::FUNCTION:BIO,EC
|
||||
STORE_revoke_certificate 3423 EXIST::FUNCTION:
|
||||
STORE_method_get_list_end_function 3424 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_end_fn 3424 EXIST:VMS:FUNCTION:
|
||||
EC_METHOD_get_field_type 3425 EXIST::FUNCTION:EC
|
||||
PEM_write_EC_PUBKEY 3426 EXIST:!WIN16:FUNCTION:EC
|
||||
EC_POINT_point2hex 3427 EXIST::FUNCTION:EC
|
||||
STORE_store_number 3428 EXIST::FUNCTION:
|
||||
DH_generate_parameters_ex 3429 EXIST::FUNCTION:DH
|
||||
STORE_Memory 3430 EXIST::FUNCTION:
|
||||
SHA224_Final 3431 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_GROUP_get0_seed 3432 EXIST::FUNCTION:EC
|
||||
EVP_ecdsa 3433 EXIST::FUNCTION:SHA
|
||||
RSA_X931_hash_id 3319 EXIST::FUNCTION:RSA
|
||||
RSA_padding_check_X931 3320 EXIST::FUNCTION:RSA
|
||||
RSA_verify_PKCS1_PSS 3321 EXIST::FUNCTION:RSA
|
||||
RSA_padding_add_X931 3322 EXIST::FUNCTION:RSA
|
||||
RSA_padding_add_PKCS1_PSS 3323 EXIST::FUNCTION:RSA
|
||||
PKCS1_MGF1 3324 EXIST::FUNCTION:RSA
|
||||
BIO_new_dgram 3325 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_384 3326 EXIST::FUNCTION:
|
||||
ERR_set_mark 3327 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_set0_crls 3328 EXIST::FUNCTION:
|
||||
ENGINE_set_STORE 3329 EXIST::FUNCTION:ENGINE
|
||||
ENGINE_register_ECDSA 3330 EXIST::FUNCTION:ENGINE
|
||||
STORE_method_set_list_start_function 3331 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_start_fn 3331 EXIST:VMS:FUNCTION:
|
||||
BN_BLINDING_invert_ex 3332 EXIST::FUNCTION:
|
||||
NAME_CONSTRAINTS_free 3333 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_set_number 3334 EXIST::FUNCTION:
|
||||
BN_BLINDING_get_thread_id 3335 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_set0_param 3336 EXIST::FUNCTION:
|
||||
POLICY_MAPPING_it 3337 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_MAPPING_it 3337 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
STORE_parse_attrs_start 3338 EXIST::FUNCTION:
|
||||
POLICY_CONSTRAINTS_free 3339 EXIST::FUNCTION:
|
||||
EVP_PKEY_add1_attr_by_NID 3340 EXIST::FUNCTION:
|
||||
BN_nist_mod_192 3341 EXIST::FUNCTION:
|
||||
EC_GROUP_get_trinomial_basis 3342 EXIST::FUNCTION:EC
|
||||
STORE_set_method 3343 EXIST::FUNCTION:
|
||||
GENERAL_SUBTREE_free 3344 EXIST::FUNCTION:
|
||||
NAME_CONSTRAINTS_it 3345 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
NAME_CONSTRAINTS_it 3345 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
ECDH_get_default_method 3346 EXIST::FUNCTION:ECDH
|
||||
PKCS12_add_safe 3347 EXIST::FUNCTION:
|
||||
EC_KEY_new_by_curve_name 3348 EXIST::FUNCTION:EC
|
||||
STORE_method_get_update_store_function 3349 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_update_store_fn 3349 EXIST:VMS:FUNCTION:
|
||||
ENGINE_register_ECDH 3350 EXIST::FUNCTION:ENGINE
|
||||
SHA512_Update 3351 EXIST::FUNCTION:SHA,SHA512
|
||||
i2d_ECPrivateKey 3352 EXIST::FUNCTION:EC
|
||||
BN_get0_nist_prime_192 3353 EXIST::FUNCTION:
|
||||
STORE_modify_certificate 3354 EXIST::FUNCTION:
|
||||
EC_POINT_set_affine_coordinates_GF2m 3355 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_set_affine_coords_GF2m 3355 EXIST:VMS:FUNCTION:EC
|
||||
BN_GF2m_mod_exp_arr 3356 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_modify_number 3357 EXIST::FUNCTION:
|
||||
X509_keyid_get0 3358 EXIST::FUNCTION:
|
||||
ENGINE_load_gmp 3359 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE
|
||||
pitem_new 3360 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_mul_arr 3361 EXIST::FUNCTION:
|
||||
STORE_list_public_key_endp 3362 EXIST::FUNCTION:
|
||||
o2i_ECPublicKey 3363 EXIST::FUNCTION:EC
|
||||
EC_KEY_copy 3364 EXIST::FUNCTION:EC
|
||||
BIO_dump_fp 3365 EXIST::FUNCTION:FP_API
|
||||
X509_policy_node_get0_parent 3366 EXIST::FUNCTION:
|
||||
EC_GROUP_check_discriminant 3367 EXIST::FUNCTION:EC
|
||||
i2o_ECPublicKey 3368 EXIST::FUNCTION:EC
|
||||
EC_KEY_precompute_mult 3369 EXIST::FUNCTION:EC
|
||||
a2i_IPADDRESS 3370 EXIST::FUNCTION:
|
||||
STORE_method_set_initialise_function 3371 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_initialise_fn 3371 EXIST:VMS:FUNCTION:
|
||||
X509_STORE_CTX_set_depth 3372 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_inherit 3373 EXIST::FUNCTION:
|
||||
EC_POINT_point2bn 3374 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_set_dn 3375 EXIST::FUNCTION:
|
||||
X509_policy_tree_get0_policies 3376 EXIST::FUNCTION:
|
||||
EC_GROUP_new_curve_GF2m 3377 EXIST::FUNCTION:EC
|
||||
STORE_destroy_method 3378 EXIST::FUNCTION:
|
||||
ENGINE_unregister_STORE 3379 EXIST::FUNCTION:ENGINE
|
||||
EVP_PKEY_get1_EC_KEY 3380 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_get0_number 3381 EXIST::FUNCTION:
|
||||
ENGINE_get_default_ECDH 3382 EXIST::FUNCTION:ENGINE
|
||||
EC_KEY_get_conv_form 3383 EXIST::FUNCTION:EC
|
||||
ASN1_OCTET_STRING_NDEF_it 3384 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
ASN1_OCTET_STRING_NDEF_it 3384 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
STORE_delete_public_key 3385 EXIST::FUNCTION:
|
||||
STORE_get_public_key 3386 EXIST::FUNCTION:
|
||||
STORE_modify_arbitrary 3387 EXIST::FUNCTION:
|
||||
ENGINE_get_static_state 3388 EXIST::FUNCTION:ENGINE
|
||||
pqueue_iterator 3389 EXIST::FUNCTION:
|
||||
ECDSA_SIG_new 3390 EXIST::FUNCTION:ECDSA
|
||||
OPENSSL_DIR_end 3391 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_sqr 3392 EXIST::FUNCTION:
|
||||
EC_POINT_bn2point 3393 EXIST::FUNCTION:EC
|
||||
X509_VERIFY_PARAM_set_depth 3394 EXIST::FUNCTION:
|
||||
EC_KEY_set_asn1_flag 3395 EXIST::FUNCTION:EC
|
||||
STORE_get_method 3396 EXIST::FUNCTION:
|
||||
EC_KEY_get_key_method_data 3397 EXIST::FUNCTION:EC
|
||||
ECDSA_sign_ex 3398 EXIST::FUNCTION:ECDSA
|
||||
STORE_parse_attrs_end 3399 EXIST::FUNCTION:
|
||||
EC_GROUP_get_point_conversion_form 3400 EXIST:!VMS:FUNCTION:EC
|
||||
EC_GROUP_get_point_conv_form 3400 EXIST:VMS:FUNCTION:EC
|
||||
STORE_method_set_store_function 3401 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_in 3402 EXIST::FUNCTION:
|
||||
PEM_read_bio_ECPKParameters 3403 EXIST::FUNCTION:EC
|
||||
EC_GROUP_get_pentanomial_basis 3404 EXIST::FUNCTION:EC
|
||||
EVP_PKEY_add1_attr_by_txt 3405 EXIST::FUNCTION:
|
||||
BN_BLINDING_set_flags 3406 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set1_policies 3407 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set1_name 3408 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_purpose 3409 EXIST::FUNCTION:
|
||||
STORE_get_number 3410 EXIST::FUNCTION:
|
||||
ECDSA_sign_setup 3411 EXIST::FUNCTION:ECDSA
|
||||
BN_GF2m_mod_solve_quad_arr 3412 EXIST::FUNCTION:
|
||||
EC_KEY_up_ref 3413 EXIST::FUNCTION:EC
|
||||
POLICY_MAPPING_free 3414 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_div 3415 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_flags 3416 EXIST::FUNCTION:
|
||||
EC_KEY_free 3417 EXIST::FUNCTION:EC
|
||||
STORE_method_set_list_next_function 3418 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_next_fn 3418 EXIST:VMS:FUNCTION:
|
||||
PEM_write_bio_ECPrivateKey 3419 EXIST::FUNCTION:EC
|
||||
d2i_EC_PUBKEY 3420 EXIST::FUNCTION:EC
|
||||
STORE_method_get_generate_function 3421 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_generate_fn 3421 EXIST:VMS:FUNCTION:
|
||||
STORE_method_set_list_end_function 3422 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_end_fn 3422 EXIST:VMS:FUNCTION:
|
||||
pqueue_print 3423 EXIST::FUNCTION:
|
||||
EC_GROUP_have_precompute_mult 3424 EXIST::FUNCTION:EC
|
||||
EC_KEY_print_fp 3425 EXIST::FUNCTION:EC,FP_API
|
||||
BN_GF2m_mod_arr 3426 EXIST::FUNCTION:
|
||||
PEM_write_bio_X509_CERT_PAIR 3427 EXIST::FUNCTION:
|
||||
EVP_PKEY_cmp 3428 EXIST::FUNCTION:
|
||||
X509_policy_level_node_count 3429 EXIST::FUNCTION:
|
||||
STORE_new_engine 3430 EXIST::FUNCTION:
|
||||
STORE_list_public_key_start 3431 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_new 3432 EXIST::FUNCTION:
|
||||
ECDH_get_ex_data 3433 EXIST::FUNCTION:ECDH
|
||||
EVP_PKEY_get_attr 3434 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_lookup 3435 EXIST::FUNCTION:
|
||||
ECDSA_get_ex_data 3436 EXIST::FUNCTION:ECDSA
|
||||
STORE_get_certificate 3437 EXIST::FUNCTION:
|
||||
BN_GF2m_mod 3438 EXIST::FUNCTION:
|
||||
ENGINE_set_ECDH 3439 EXIST::FUNCTION:ENGINE
|
||||
NAME_CONSTRAINTS_free 3440 EXIST::FUNCTION:
|
||||
X509_policy_node_get0_parent 3441 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_exp_arr 3442 EXIST::FUNCTION:
|
||||
ENGINE_unregister_ECDH 3443 EXIST::FUNCTION:ENGINE
|
||||
BIO_new_dgram 3444 EXIST::FUNCTION:
|
||||
EVP_PKEY_add1_attr_by_NID 3445 EXIST::FUNCTION:
|
||||
EC_KEY_get_conv_form 3446 EXIST::FUNCTION:EC
|
||||
v2i_GENERAL_NAME_ex 3447 EXIST::FUNCTION:
|
||||
STORE_store_private_key 3448 EXIST::FUNCTION:
|
||||
STORE_method_set_revoke_function 3449 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_revoke_fn 3449 EXIST:VMS:FUNCTION:
|
||||
EC_GROUP_get_seed_len 3450 EXIST::FUNCTION:EC
|
||||
POLICY_MAPPINGS_it 3451 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_MAPPINGS_it 3451 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
EC_KEY_check_key 3452 EXIST::FUNCTION:EC
|
||||
X509_STORE_CTX_get_explicit_policy 3453 EXIST:!VMS:FUNCTION:
|
||||
X509_STORE_CTX_get_expl_policy 3453 EXIST:VMS:FUNCTION:
|
||||
STORE_ATTR_INFO_modify_number 3454 EXIST::FUNCTION:
|
||||
STORE_modify_number 3455 EXIST::FUNCTION:
|
||||
OPENSSL_DIR_read 3456 EXIST::FUNCTION:
|
||||
STORE_new_engine 3457 EXIST::FUNCTION:
|
||||
ASN1_const_check_infinite_end 3458 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_set_sha1str 3459 EXIST::FUNCTION:
|
||||
i2d_PKCS7_NDEF 3460 EXIST::FUNCTION:
|
||||
SHA512_Update 3461 EXIST::FUNCTION:SHA,SHA512
|
||||
PKCS12_add_safes 3462 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_384 3463 EXIST::FUNCTION:
|
||||
BN_is_prime_ex 3464 EXIST::FUNCTION:
|
||||
BN_GENCB_call 3465 EXIST::FUNCTION:
|
||||
EC_KEY_get0_public_key 3466 EXIST::FUNCTION:EC
|
||||
ERR_pop_to_mark 3467 EXIST::FUNCTION:
|
||||
EC_KEY_get_key_method_data 3468 EXIST::FUNCTION:EC
|
||||
STORE_parse_attrs_next 3469 EXIST::FUNCTION:
|
||||
v2i_ASN1_BIT_STRING 3470 EXIST::FUNCTION:
|
||||
STORE_create_method 3471 EXIST::FUNCTION:
|
||||
PKCS12_add_key 3472 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_add0_policy 3473 EXIST::FUNCTION:
|
||||
STORE_set_method 3474 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_get_depth 3475 EXIST::FUNCTION:
|
||||
STORE_list_public_key_start 3476 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_mul_arr 3477 EXIST::FUNCTION:
|
||||
d2i_X509_CERT_PAIR 3478 EXIST::FUNCTION:
|
||||
BN_nist_mod_192 3479 EXIST::FUNCTION:
|
||||
i2d_ECPrivateKey_fp 3480 EXIST::FUNCTION:EC,FP_API
|
||||
EC_GROUP_check_discriminant 3481 EXIST::FUNCTION:EC
|
||||
ECPKParameters_print_fp 3482 EXIST::FUNCTION:EC,FP_API
|
||||
POLICY_CONSTRAINTS_it 3483 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_CONSTRAINTS_it 3483 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
o2i_ECPublicKey 3484 EXIST::FUNCTION:EC
|
||||
STORE_method_set_get_function 3485 EXIST::FUNCTION:
|
||||
X509_policy_node_get0_policy 3486 EXIST::FUNCTION:
|
||||
ENGINE_set_default_ECDSA 3487 EXIST::FUNCTION:ENGINE
|
||||
STORE_get_public_key 3488 EXIST::FUNCTION:
|
||||
d2i_ECDSA_SIG 3489 EXIST::FUNCTION:ECDSA
|
||||
SHA256_Init 3490 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_GROUP_have_precompute_mult 3491 EXIST::FUNCTION:EC
|
||||
EVP_PKEY_add1_attr 3492 EXIST::FUNCTION:
|
||||
d2i_EC_PUBKEY_fp 3493 EXIST::FUNCTION:EC,FP_API
|
||||
PEM_read_ECPrivateKey 3494 EXIST:!WIN16:FUNCTION:EC
|
||||
BN_GF2m_mod_inv_arr 3495 EXIST::FUNCTION:
|
||||
STORE_method_set_unlock_store_function 3496 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_unlock_store_fn 3496 EXIST:VMS:FUNCTION:
|
||||
STORE_list_crl_next 3497 EXIST::FUNCTION:
|
||||
EC_POINT_dup 3498 EXIST::FUNCTION:EC
|
||||
ENGINE_set_STORE 3499 EXIST::FUNCTION:ENGINE
|
||||
STORE_method_get_list_next_function 3500 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_next_fn 3500 EXIST:VMS:FUNCTION:
|
||||
PKCS7_set0_type_other 3501 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_set_number 3502 EXIST::FUNCTION:
|
||||
STORE_get_private_key 3503 EXIST::FUNCTION:
|
||||
SHA384_Init 3504 EXIST::FUNCTION:SHA,SHA512
|
||||
SHA384_Update 3505 EXIST::FUNCTION:SHA,SHA512
|
||||
EC_GROUP_get_pentanomial_basis 3506 EXIST::FUNCTION:EC
|
||||
EC_KEY_free 3507 EXIST::FUNCTION:EC
|
||||
BN_GF2m_mod_mul 3508 EXIST::FUNCTION:
|
||||
X509_CERT_PAIR_new 3509 EXIST::FUNCTION:
|
||||
X509_policy_check 3510 EXIST::FUNCTION:
|
||||
EC_KEY_insert_key_method_data 3511 EXIST::FUNCTION:EC
|
||||
ENGINE_register_all_ECDSA 3512 EXIST::FUNCTION:ENGINE
|
||||
ECDSA_set_ex_data 3513 EXIST::FUNCTION:ECDSA
|
||||
SHA384 3514 EXIST::FUNCTION:SHA,SHA512
|
||||
BN_GF2m_mod_inv 3515 EXIST::FUNCTION:
|
||||
PEM_write_bio_ECPKParameters 3516 EXIST::FUNCTION:EC
|
||||
STORE_delete_public_key 3517 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_flags 3518 EXIST::FUNCTION:
|
||||
i2d_ECParameters 3519 EXIST::FUNCTION:EC
|
||||
BN_GF2m_arr2poly 3520 EXIST::FUNCTION:
|
||||
STORE_method_set_delete_function 3521 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_delete_fn 3521 EXIST:VMS:FUNCTION:
|
||||
EC_GROUP_new_by_curve_name 3522 EXIST::FUNCTION:EC
|
||||
X509_policy_level_get0_node 3523 EXIST::FUNCTION:
|
||||
d2i_ECPrivateKey 3524 EXIST::FUNCTION:EC
|
||||
STORE_method_set_update_store_function 3525 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_update_store_fn 3525 EXIST:VMS:FUNCTION:
|
||||
ERR_load_ECDH_strings 3526 EXIST::FUNCTION:ECDH
|
||||
STORE_ATTR_INFO_modify_dn 3527 EXIST::FUNCTION:
|
||||
EC_GROUP_set_curve_GF2m 3528 EXIST::FUNCTION:EC
|
||||
X509_STORE_CTX_get0_param 3529 EXIST::FUNCTION:
|
||||
SHA224_Update 3530 EXIST::FUNCTION:SHA,SHA256
|
||||
SHA256_Update 3531 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_KEY_set_group 3532 EXIST::FUNCTION:EC
|
||||
PEM_write_bio_EC_PUBKEY 3533 EXIST::FUNCTION:EC
|
||||
pqueue_free 3534 EXIST::FUNCTION:
|
||||
POLICY_MAPPING_new 3535 EXIST::FUNCTION:
|
||||
EC_KEY_new 3536 EXIST::FUNCTION:EC
|
||||
STORE_list_public_key_next 3537 EXIST::FUNCTION:
|
||||
X509_CERT_PAIR_free 3538 EXIST::FUNCTION:
|
||||
BN_set_negative 3539 EXIST::FUNCTION:
|
||||
BN_nist_mod_256 3540 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_256 3541 EXIST::FUNCTION:
|
||||
RSA_generate_key_ex 3542 EXIST::FUNCTION:RSA
|
||||
ECDSA_do_sign 3435 EXIST::FUNCTION:ECDSA
|
||||
ENGINE_unregister_ECDH 3436 EXIST::FUNCTION:ENGINE
|
||||
ECDH_OpenSSL 3437 EXIST::FUNCTION:ECDH
|
||||
EC_KEY_set_conv_form 3438 EXIST::FUNCTION:EC
|
||||
EC_POINT_dup 3439 EXIST::FUNCTION:EC
|
||||
GENERAL_SUBTREE_new 3440 EXIST::FUNCTION:
|
||||
STORE_list_crl_endp 3441 EXIST::FUNCTION:
|
||||
EC_get_builtin_curves 3442 EXIST::FUNCTION:EC
|
||||
X509_policy_node_get0_qualifiers 3443 EXIST:!VMS:FUNCTION:
|
||||
X509_pcy_node_get0_qualifiers 3443 EXIST:VMS:FUNCTION:
|
||||
STORE_list_crl_end 3444 EXIST::FUNCTION:
|
||||
EVP_PKEY_set1_EC_KEY 3445 EXIST::FUNCTION:EC
|
||||
BN_GF2m_mod_sqrt_arr 3446 EXIST::FUNCTION:
|
||||
i2d_ECPrivateKey_bio 3447 EXIST::FUNCTION:BIO,EC
|
||||
ECPKParameters_print_fp 3448 EXIST::FUNCTION:EC,FP_API
|
||||
pqueue_find 3449 EXIST::FUNCTION:
|
||||
ECDSA_SIG_free 3450 EXIST::FUNCTION:ECDSA
|
||||
PEM_write_bio_ECPKParameters 3451 EXIST::FUNCTION:EC
|
||||
STORE_method_set_ctrl_function 3452 EXIST::FUNCTION:
|
||||
STORE_list_public_key_end 3453 EXIST::FUNCTION:
|
||||
EC_KEY_set_private_key 3454 EXIST::FUNCTION:EC
|
||||
pqueue_peek 3455 EXIST::FUNCTION:
|
||||
STORE_get_arbitrary 3456 EXIST::FUNCTION:
|
||||
STORE_store_crl 3457 EXIST::FUNCTION:
|
||||
X509_policy_node_get0_policy 3458 EXIST::FUNCTION:
|
||||
PKCS12_add_safes 3459 EXIST::FUNCTION:
|
||||
BN_BLINDING_convert_ex 3460 EXIST::FUNCTION:
|
||||
X509_policy_tree_free 3461 EXIST::FUNCTION:
|
||||
OPENSSL_ia32cap_loc 3462 EXIST::FUNCTION:
|
||||
BN_GF2m_poly2arr 3463 EXIST::FUNCTION:
|
||||
STORE_ctrl 3464 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_compare 3465 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_224 3466 EXIST::FUNCTION:
|
||||
i2d_ECParameters 3467 EXIST::FUNCTION:EC
|
||||
i2d_ECPKParameters 3468 EXIST::FUNCTION:EC
|
||||
BN_GENCB_call 3469 EXIST::FUNCTION:
|
||||
d2i_ECPKParameters 3470 EXIST::FUNCTION:EC
|
||||
STORE_method_set_generate_function 3471 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_generate_fn 3471 EXIST:VMS:FUNCTION:
|
||||
ENGINE_set_ECDH 3472 EXIST::FUNCTION:ENGINE
|
||||
NAME_CONSTRAINTS_new 3473 EXIST::FUNCTION:
|
||||
SHA256_Init 3474 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_KEY_get0_public_key 3475 EXIST::FUNCTION:EC
|
||||
PEM_write_bio_EC_PUBKEY 3476 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_set_cstr 3477 EXIST::FUNCTION:
|
||||
STORE_list_crl_next 3478 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_in_range 3479 EXIST::FUNCTION:
|
||||
ECParameters_print 3480 EXIST::FUNCTION:BIO,EC
|
||||
STORE_method_set_delete_function 3481 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_delete_fn 3481 EXIST:VMS:FUNCTION:
|
||||
STORE_list_certificate_next 3482 EXIST::FUNCTION:
|
||||
ASN1_generate_nconf 3483 EXIST::FUNCTION:
|
||||
BUF_memdup 3484 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_mul 3485 EXIST::FUNCTION:
|
||||
STORE_method_get_list_next_function 3486 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_next_fn 3486 EXIST:VMS:FUNCTION:
|
||||
STORE_ATTR_INFO_get0_dn 3487 EXIST::FUNCTION:
|
||||
STORE_list_private_key_next 3488 EXIST::FUNCTION:
|
||||
EC_GROUP_set_seed 3489 EXIST::FUNCTION:EC
|
||||
X509_VERIFY_PARAM_set_trust 3490 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_free 3491 EXIST::FUNCTION:
|
||||
STORE_get_private_key 3492 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_attr_count 3493 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_new 3494 EXIST::FUNCTION:
|
||||
EC_GROUP_get_curve_GF2m 3495 EXIST::FUNCTION:EC
|
||||
STORE_method_set_revoke_function 3496 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_revoke_fn 3496 EXIST:VMS:FUNCTION:
|
||||
STORE_store_number 3497 EXIST::FUNCTION:
|
||||
BN_is_prime_ex 3498 EXIST::FUNCTION:
|
||||
STORE_revoke_public_key 3499 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_get0_param 3500 EXIST::FUNCTION:
|
||||
STORE_delete_arbitrary 3501 EXIST::FUNCTION:
|
||||
PEM_read_X509_CERT_PAIR 3502 EXIST:!WIN16:FUNCTION:
|
||||
X509_STORE_set_depth 3503 EXIST::FUNCTION:
|
||||
ECDSA_get_ex_data 3504 EXIST::FUNCTION:ECDSA
|
||||
SHA224 3505 EXIST::FUNCTION:SHA,SHA256
|
||||
BIO_dump_indent_fp 3506 EXIST::FUNCTION:FP_API
|
||||
EC_KEY_set_group 3507 EXIST::FUNCTION:EC
|
||||
BUF_strndup 3508 EXIST::FUNCTION:
|
||||
STORE_list_certificate_start 3509 EXIST::FUNCTION:
|
||||
BN_GF2m_mod 3510 EXIST::FUNCTION:
|
||||
X509_REQ_check_private_key 3511 EXIST::FUNCTION:
|
||||
EC_GROUP_get_seed_len 3512 EXIST::FUNCTION:EC
|
||||
ERR_load_STORE_strings 3513 EXIST::FUNCTION:
|
||||
PEM_read_bio_EC_PUBKEY 3514 EXIST::FUNCTION:EC
|
||||
STORE_list_private_key_end 3515 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY 3516 EXIST::FUNCTION:EC
|
||||
ECDSA_get_default_method 3517 EXIST::FUNCTION:ECDSA
|
||||
ASN1_put_eoc 3518 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_get_explicit_policy 3519 EXIST:!VMS:FUNCTION:
|
||||
X509_STORE_CTX_get_expl_policy 3519 EXIST:VMS:FUNCTION:
|
||||
X509_VERIFY_PARAM_table_cleanup 3520 EXIST::FUNCTION:
|
||||
STORE_modify_private_key 3521 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_free 3522 EXIST::FUNCTION:
|
||||
EC_METHOD_get_field_type 3523 EXIST::FUNCTION:EC
|
||||
EC_GFp_nist_method 3524 EXIST::FUNCTION:EC
|
||||
STORE_method_set_modify_function 3525 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_modify_fn 3525 EXIST:VMS:FUNCTION:
|
||||
STORE_parse_attrs_next 3526 EXIST::FUNCTION:
|
||||
ENGINE_load_padlock 3527 EXIST::FUNCTION:ENGINE
|
||||
EC_GROUP_set_curve_name 3528 EXIST::FUNCTION:EC
|
||||
X509_CERT_PAIR_it 3529 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
X509_CERT_PAIR_it 3529 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
STORE_method_get_revoke_function 3530 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_revoke_fn 3530 EXIST:VMS:FUNCTION:
|
||||
STORE_method_set_get_function 3531 EXIST::FUNCTION:
|
||||
STORE_modify_number 3532 EXIST::FUNCTION:
|
||||
STORE_method_get_store_function 3533 EXIST::FUNCTION:
|
||||
STORE_store_private_key 3534 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_sqr_arr 3535 EXIST::FUNCTION:
|
||||
RSA_setup_blinding 3536 EXIST::FUNCTION:RSA
|
||||
BIO_s_datagram 3537 EXIST::FUNCTION:DGRAM
|
||||
STORE_Memory 3538 EXIST::FUNCTION:
|
||||
sk_find_ex 3539 EXIST::FUNCTION:
|
||||
EC_GROUP_set_curve_GF2m 3540 EXIST::FUNCTION:EC
|
||||
ENGINE_set_default_ECDSA 3541 EXIST::FUNCTION:ENGINE
|
||||
POLICY_CONSTRAINTS_new 3542 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_sqrt 3543 EXIST::FUNCTION:
|
||||
ASN1_put_eoc 3544 EXIST::FUNCTION:
|
||||
X509_policy_tree_get0_policies 3545 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_trust 3546 EXIST::FUNCTION:
|
||||
EC_GROUP_get_trinomial_basis 3547 EXIST::FUNCTION:EC
|
||||
ECDSA_sign_setup 3548 EXIST::FUNCTION:ECDSA
|
||||
X509_VERIFY_PARAM_table_cleanup 3549 EXIST::FUNCTION:
|
||||
ENGINE_unregister_ECDSA 3550 EXIST::FUNCTION:ENGINE
|
||||
STORE_generate_key 3551 EXIST::FUNCTION:
|
||||
ENGINE_register_ECDH 3552 EXIST::FUNCTION:ENGINE
|
||||
SHA512_Transform 3553 EXIST::FUNCTION:SHA,SHA512
|
||||
X509_STORE_CTX_set_depth 3554 EXIST::FUNCTION:
|
||||
STORE_list_crl_endp 3555 EXIST::FUNCTION:
|
||||
EVP_PKEY_get1_EC_KEY 3556 EXIST::FUNCTION:EC
|
||||
STORE_get_ex_data 3557 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_add0_table 3558 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_sqrt_arr 3559 EXIST::FUNCTION:
|
||||
EVP_PKEY_add1_attr_by_txt 3560 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_set_default 3561 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY_fp 3562 EXIST::FUNCTION:EC,FP_API
|
||||
BN_BLINDING_invert_ex 3563 EXIST::FUNCTION:
|
||||
EC_POINT_hex2point 3564 EXIST::FUNCTION:EC
|
||||
PEM_read_bio_ECPKParameters 3565 EXIST::FUNCTION:EC
|
||||
PEM_write_bio_X509_CERT_PAIR 3566 EXIST::FUNCTION:
|
||||
EC_KEY_new_by_curve_name 3567 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_in_range 3568 EXIST::FUNCTION:
|
||||
STORE_method_get_initialise_function 3569 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_initialise_fn 3569 EXIST:VMS:FUNCTION:
|
||||
STORE_ATTR_INFO_get0_dn 3570 EXIST::FUNCTION:
|
||||
STORE_set_ex_data 3571 EXIST::FUNCTION:
|
||||
X509_REQ_check_private_key 3572 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_get0_sha1str 3573 EXIST::FUNCTION:
|
||||
EC_GROUP_set_asn1_flag 3574 EXIST::FUNCTION:EC
|
||||
ECDH_set_method 3575 EXIST::FUNCTION:ECDH
|
||||
ECDSA_do_sign 3576 EXIST::FUNCTION:ECDSA
|
||||
STORE_ATTR_INFO_new 3577 EXIST::FUNCTION:
|
||||
STORE_method_get_lock_store_function 3578 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_lock_store_fn 3578 EXIST:VMS:FUNCTION:
|
||||
EC_KEY_set_public_key 3579 EXIST::FUNCTION:EC
|
||||
BUF_strndup 3580 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_modify_cstr 3581 EXIST::FUNCTION:
|
||||
POLICY_MAPPING_free 3582 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_192 3583 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY 3584 EXIST::FUNCTION:EC
|
||||
STORE_method_set_lock_store_function 3585 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_lock_store_fn 3585 EXIST:VMS:FUNCTION:
|
||||
PKCS12_add_safe 3586 EXIST::FUNCTION:
|
||||
STORE_free 3587 EXIST::FUNCTION:
|
||||
GENERAL_SUBTREE_it 3588 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
GENERAL_SUBTREE_it 3588 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
ECDSA_do_verify 3589 EXIST::FUNCTION:ECDSA
|
||||
GENERAL_SUBTREE_free 3590 EXIST::FUNCTION:
|
||||
EC_KEY_get0_private_key 3591 EXIST::FUNCTION:EC
|
||||
ECDSA_get_ex_new_index 3592 EXIST::FUNCTION:ECDSA
|
||||
SHA224 3593 EXIST::FUNCTION:SHA,SHA256
|
||||
STORE_delete_certificate 3594 EXIST::FUNCTION:
|
||||
ECDSA_sign_ex 3595 EXIST::FUNCTION:ECDSA
|
||||
BN_is_prime_fasttest_ex 3596 EXIST::FUNCTION:
|
||||
EC_GROUP_set_curve_name 3597 EXIST::FUNCTION:EC
|
||||
EVP_PKEY_set1_EC_KEY 3598 EXIST::FUNCTION:EC
|
||||
STORE_store_arbitrary 3599 EXIST::FUNCTION:
|
||||
EC_KEY_print_fp 3600 EXIST::FUNCTION:EC,FP_API
|
||||
STORE_list_public_key_end 3601 EXIST::FUNCTION:
|
||||
SHA256_Transform 3602 EXIST::FUNCTION:SHA,SHA256
|
||||
X509_policy_tree_level_count 3603 EXIST::FUNCTION:
|
||||
SHA512_Init 3604 EXIST::FUNCTION:SHA,SHA512
|
||||
STORE_ATTR_INFO_in 3605 EXIST::FUNCTION:
|
||||
ENGINE_get_default_ECDSA 3606 EXIST::FUNCTION:ENGINE
|
||||
ENGINE_get_static_state 3607 EXIST::FUNCTION:ENGINE
|
||||
ECParameters_print 3608 EXIST::FUNCTION:BIO,EC
|
||||
STORE_get_arbitrary 3609 EXIST::FUNCTION:
|
||||
BN_BLINDING_set_flags 3610 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_solve_quad 3611 EXIST::FUNCTION:
|
||||
STORE_delete_number 3612 EXIST::FUNCTION:
|
||||
STORE_method_get_revoke_function 3613 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_revoke_fn 3613 EXIST:VMS:FUNCTION:
|
||||
STORE_ATTR_INFO_set_cstr 3614 EXIST::FUNCTION:
|
||||
BIO_dump_indent_cb 3615 EXIST::FUNCTION:
|
||||
EC_KEY_dup 3616 EXIST::FUNCTION:EC
|
||||
X509_keyid_get0 3617 EXIST::FUNCTION:
|
||||
STORE_get_method 3618 EXIST::FUNCTION:
|
||||
PKCS12_add_cert 3619 EXIST::FUNCTION:
|
||||
X509_STORE_set1_param 3620 EXIST::FUNCTION:
|
||||
BN_BLINDING_create_param 3621 EXIST::FUNCTION:
|
||||
BN_BLINDING_get_flags 3622 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_attr_count 3623 EXIST::FUNCTION:
|
||||
STORE_parse_attrs_start 3624 EXIST::FUNCTION:
|
||||
STORE_method_set_list_next_function 3625 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_next_fn 3625 EXIST:VMS:FUNCTION:
|
||||
STORE_parse_attrs_end 3626 EXIST::FUNCTION:
|
||||
EC_GROUP_get_point_conversion_form 3627 EXIST:!VMS:FUNCTION:EC
|
||||
EC_GROUP_get_point_conv_form 3627 EXIST:VMS:FUNCTION:EC
|
||||
EC_KEY_get0_group 3628 EXIST::FUNCTION:EC
|
||||
SHA256 3629 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_GROUP_set_seed 3630 EXIST::FUNCTION:EC
|
||||
pqueue_pop 3631 EXIST::FUNCTION:
|
||||
i2d_ECPKParameters 3632 EXIST::FUNCTION:EC
|
||||
pitem_new 3633 EXIST::FUNCTION:
|
||||
ENGINE_set_ECDSA 3634 EXIST::FUNCTION:ENGINE
|
||||
X509_STORE_CTX_set0_param 3635 EXIST::FUNCTION:
|
||||
X509_policy_tree_get0_user_policies 3636 EXIST:!VMS:FUNCTION:
|
||||
X509_pcy_tree_get0_usr_policies 3636 EXIST:VMS:FUNCTION:
|
||||
X509V3_NAME_from_section 3637 EXIST::FUNCTION:
|
||||
pqueue_peek 3638 EXIST::FUNCTION:
|
||||
STORE_method_set_initialise_function 3639 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_initialise_fn 3639 EXIST:VMS:FUNCTION:
|
||||
EC_POINT_bn2point 3640 EXIST::FUNCTION:EC
|
||||
ENGINE_load_gmp 3641 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE
|
||||
pitem_free 3642 EXIST::FUNCTION:
|
||||
ASN1_OCTET_STRING_NDEF_it 3643 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
ASN1_OCTET_STRING_NDEF_it 3643 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
STORE_ctrl 3644 EXIST::FUNCTION:
|
||||
STORE_method_get_list_start_function 3645 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_start_fn 3645 EXIST:VMS:FUNCTION:
|
||||
pqueue_iterator 3646 EXIST::FUNCTION:
|
||||
STORE_list_private_key_start 3647 EXIST::FUNCTION:
|
||||
BIO_dgram_non_fatal_error 3648 EXIST::FUNCTION:
|
||||
pqueue_next 3649 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_521 3650 EXIST::FUNCTION:
|
||||
PEM_read_EC_PUBKEY 3651 EXIST:!WIN16:FUNCTION:EC
|
||||
EC_POINT_get_affine_coordinates_GF2m 3652 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_get_affine_coords_GF2m 3652 EXIST:VMS:FUNCTION:EC
|
||||
X509_policy_level_node_count 3653 EXIST::FUNCTION:
|
||||
SHA512 3654 EXIST::FUNCTION:SHA,SHA512
|
||||
STORE_ATTR_INFO_set_dn 3655 EXIST::FUNCTION:
|
||||
ECDSA_set_default_method 3656 EXIST::FUNCTION:ECDSA
|
||||
STORE_ATTR_INFO_in_ex 3657 EXIST::FUNCTION:
|
||||
d2i_ECParameters 3658 EXIST::FUNCTION:EC
|
||||
EC_GROUP_dup 3659 EXIST::FUNCTION:EC
|
||||
STORE_generate_crl 3660 EXIST::FUNCTION:
|
||||
STORE_OBJECT_new 3661 EXIST::FUNCTION:
|
||||
POLICY_CONSTRAINTS_free 3662 EXIST::FUNCTION:
|
||||
a2i_IPADDRESS_NC 3663 EXIST::FUNCTION:
|
||||
STORE_delete_arbitrary 3664 EXIST::FUNCTION:
|
||||
STORE_method_set_generate_function 3665 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_generate_fn 3665 EXIST:VMS:FUNCTION:
|
||||
EC_GROUP_check 3666 EXIST::FUNCTION:EC
|
||||
ECDSA_get_default_method 3667 EXIST::FUNCTION:ECDSA
|
||||
ECDSA_sign 3668 EXIST::FUNCTION:ECDSA
|
||||
i2v_ASN1_BIT_STRING 3669 EXIST::FUNCTION:
|
||||
STORE_modify_arbitrary 3670 EXIST::FUNCTION:
|
||||
EVP_CIPHER_CTX_rand_key 3671 EXIST::FUNCTION:
|
||||
BN_nist_mod_224 3672 EXIST::FUNCTION:
|
||||
STORE_revoke_public_key 3673 EXIST::FUNCTION:
|
||||
STORE_method_get_unlock_store_function 3674 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_unlock_store_fn 3674 EXIST:VMS:FUNCTION:
|
||||
d2i_EC_PUBKEY_bio 3675 EXIST::FUNCTION:BIO,EC
|
||||
EC_GFp_nist_method 3676 EXIST::FUNCTION:EC
|
||||
EC_GROUP_get_degree 3677 EXIST::FUNCTION:EC
|
||||
pqueue_new 3678 EXIST::FUNCTION:
|
||||
EC_GROUP_new_curve_GF2m 3679 EXIST::FUNCTION:EC
|
||||
ENGINE_register_ECDSA 3680 EXIST::FUNCTION:ENGINE
|
||||
STORE_list_certificate_endp 3681 EXIST::FUNCTION:
|
||||
PEM_read_bio_EC_PUBKEY 3682 EXIST::FUNCTION:EC
|
||||
ENGINE_unregister_STORE 3683 EXIST::FUNCTION:ENGINE
|
||||
d2i_ECPKParameters 3684 EXIST::FUNCTION:EC
|
||||
BN_GF2m_poly2arr 3685 EXIST::FUNCTION:
|
||||
SHA512_Final 3686 EXIST::FUNCTION:SHA,SHA512
|
||||
EC_KEY_set_conv_form 3687 EXIST::FUNCTION:EC
|
||||
BN_GF2m_mod_solve_quad_arr 3688 EXIST::FUNCTION:
|
||||
PEM_write_bio_ECPrivateKey 3689 EXIST::FUNCTION:EC
|
||||
X509_policy_tree_free 3690 EXIST::FUNCTION:
|
||||
STORE_list_certificate_end 3691 EXIST::FUNCTION:
|
||||
BIO_dump_cb 3692 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_attr_by_OBJ 3693 EXIST::FUNCTION:
|
||||
STORE_method_set_ctrl_function 3694 EXIST::FUNCTION:
|
||||
EC_GROUP_set_point_conversion_form 3695 EXIST:!VMS:FUNCTION:EC
|
||||
EC_GROUP_set_point_conv_form 3695 EXIST:VMS:FUNCTION:EC
|
||||
STORE_modify_certificate 3696 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_compare 3697 EXIST::FUNCTION:
|
||||
STORE_store_public_key 3698 EXIST::FUNCTION:
|
||||
ECDH_OpenSSL 3699 EXIST::FUNCTION:ECDH
|
||||
STORE_modify_public_key 3700 EXIST::FUNCTION:
|
||||
ECDH_set_default_method 3544 EXIST::FUNCTION:ECDH
|
||||
EC_KEY_generate_key 3545 EXIST::FUNCTION:EC
|
||||
SHA384_Update 3546 EXIST::FUNCTION:SHA,SHA512
|
||||
BN_GF2m_arr2poly 3547 EXIST::FUNCTION:
|
||||
STORE_method_get_get_function 3548 EXIST::FUNCTION:
|
||||
STORE_method_set_cleanup_function 3549 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_cleanup_fn 3549 EXIST:VMS:FUNCTION:
|
||||
EC_GROUP_check 3550 EXIST::FUNCTION:EC
|
||||
d2i_ECPrivateKey_bio 3551 EXIST::FUNCTION:BIO,EC
|
||||
EC_KEY_insert_key_method_data 3552 EXIST::FUNCTION:EC
|
||||
STORE_method_get_lock_store_function 3553 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_lock_store_fn 3553 EXIST:VMS:FUNCTION:
|
||||
X509_VERIFY_PARAM_get_depth 3554 EXIST::FUNCTION:
|
||||
SHA224_Final 3555 EXIST::FUNCTION:SHA,SHA256
|
||||
STORE_method_set_update_store_function 3556 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_update_store_fn 3556 EXIST:VMS:FUNCTION:
|
||||
SHA224_Update 3557 EXIST::FUNCTION:SHA,SHA256
|
||||
d2i_ECPrivateKey 3558 EXIST::FUNCTION:EC
|
||||
ASN1_item_ndef_i2d 3559 EXIST::FUNCTION:
|
||||
STORE_delete_private_key 3560 EXIST::FUNCTION:
|
||||
ERR_pop_to_mark 3561 EXIST::FUNCTION:
|
||||
ENGINE_register_all_STORE 3562 EXIST::FUNCTION:ENGINE
|
||||
X509_policy_level_get0_node 3563 EXIST::FUNCTION:
|
||||
i2d_PKCS7_NDEF 3564 EXIST::FUNCTION:
|
||||
EC_GROUP_get_degree 3565 EXIST::FUNCTION:EC
|
||||
ASN1_generate_v3 3566 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_modify_cstr 3567 EXIST::FUNCTION:
|
||||
X509_policy_tree_level_count 3568 EXIST::FUNCTION:
|
||||
BN_GF2m_add 3569 EXIST::FUNCTION:
|
||||
EC_KEY_get0_group 3570 EXIST::FUNCTION:EC
|
||||
STORE_generate_crl 3571 EXIST::FUNCTION:
|
||||
STORE_store_public_key 3572 EXIST::FUNCTION:
|
||||
X509_CERT_PAIR_free 3573 EXIST::FUNCTION:
|
||||
STORE_revoke_private_key 3574 EXIST::FUNCTION:
|
||||
BN_nist_mod_224 3575 EXIST::FUNCTION:
|
||||
SHA512_Final 3576 EXIST::FUNCTION:SHA,SHA512
|
||||
STORE_ATTR_INFO_modify_dn 3577 EXIST::FUNCTION:
|
||||
STORE_method_get_initialise_function 3578 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_initialise_fn 3578 EXIST:VMS:FUNCTION:
|
||||
STORE_delete_number 3579 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY_bio 3580 EXIST::FUNCTION:BIO,EC
|
||||
BIO_dgram_non_fatal_error 3581 EXIST::FUNCTION:
|
||||
EC_GROUP_get_asn1_flag 3582 EXIST::FUNCTION:EC
|
||||
STORE_ATTR_INFO_in_ex 3583 EXIST::FUNCTION:
|
||||
STORE_list_crl_start 3584 EXIST::FUNCTION:
|
||||
ECDH_get_ex_new_index 3585 EXIST::FUNCTION:ECDH
|
||||
STORE_method_get_modify_function 3586 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_modify_fn 3586 EXIST:VMS:FUNCTION:
|
||||
v2i_ASN1_BIT_STRING 3587 EXIST::FUNCTION:
|
||||
STORE_store_certificate 3588 EXIST::FUNCTION:
|
||||
OBJ_bsearch_ex 3589 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_set_default 3590 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_set_sha1str 3591 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_inv 3592 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_exp 3593 EXIST::FUNCTION:
|
||||
STORE_modify_public_key 3594 EXIST::FUNCTION:
|
||||
STORE_method_get_list_start_function 3595 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_start_fn 3595 EXIST:VMS:FUNCTION:
|
||||
EC_GROUP_get0_seed 3596 EXIST::FUNCTION:EC
|
||||
STORE_store_arbitrary 3597 EXIST::FUNCTION:
|
||||
STORE_method_set_unlock_store_function 3598 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_unlock_store_fn 3598 EXIST:VMS:FUNCTION:
|
||||
BN_GF2m_mod_div_arr 3599 EXIST::FUNCTION:
|
||||
ENGINE_set_ECDSA 3600 EXIST::FUNCTION:ENGINE
|
||||
STORE_create_method 3601 EXIST::FUNCTION:
|
||||
ECPKParameters_print 3602 EXIST::FUNCTION:BIO,EC
|
||||
EC_KEY_get0_private_key 3603 EXIST::FUNCTION:EC
|
||||
PEM_write_EC_PUBKEY 3604 EXIST:!WIN16:FUNCTION:EC
|
||||
X509_VERIFY_PARAM_set1 3605 EXIST::FUNCTION:
|
||||
ECDH_set_method 3606 EXIST::FUNCTION:ECDH
|
||||
v2i_GENERAL_NAME_ex 3607 EXIST::FUNCTION:
|
||||
ECDH_set_ex_data 3608 EXIST::FUNCTION:ECDH
|
||||
STORE_generate_key 3609 EXIST::FUNCTION:
|
||||
BN_nist_mod_521 3610 EXIST::FUNCTION:
|
||||
X509_policy_tree_get0_level 3611 EXIST::FUNCTION:
|
||||
EC_GROUP_set_point_conversion_form 3612 EXIST:!VMS:FUNCTION:EC
|
||||
EC_GROUP_set_point_conv_form 3612 EXIST:VMS:FUNCTION:EC
|
||||
PEM_read_EC_PUBKEY 3613 EXIST:!WIN16:FUNCTION:EC
|
||||
i2d_ECDSA_SIG 3614 EXIST::FUNCTION:ECDSA
|
||||
ECDSA_OpenSSL 3615 EXIST::FUNCTION:ECDSA
|
||||
STORE_delete_crl 3616 EXIST::FUNCTION:
|
||||
EC_KEY_get_enc_flags 3617 EXIST::FUNCTION:EC
|
||||
ASN1_const_check_infinite_end 3618 EXIST::FUNCTION:
|
||||
EVP_PKEY_delete_attr 3619 EXIST::FUNCTION:
|
||||
ECDSA_set_default_method 3620 EXIST::FUNCTION:ECDSA
|
||||
EC_POINT_set_compressed_coordinates_GF2m 3621 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_set_compr_coords_GF2m 3621 EXIST:VMS:FUNCTION:EC
|
||||
EC_GROUP_cmp 3622 EXIST::FUNCTION:EC
|
||||
STORE_revoke_certificate 3623 EXIST::FUNCTION:
|
||||
BN_get0_nist_prime_256 3624 EXIST::FUNCTION:
|
||||
STORE_method_get_delete_function 3625 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_delete_fn 3625 EXIST:VMS:FUNCTION:
|
||||
SHA224_Init 3626 EXIST::FUNCTION:SHA,SHA256
|
||||
PEM_read_ECPrivateKey 3627 EXIST:!WIN16:FUNCTION:EC
|
||||
SHA512_Init 3628 EXIST::FUNCTION:SHA,SHA512
|
||||
STORE_parse_attrs_endp 3629 EXIST::FUNCTION:
|
||||
BN_set_negative 3630 EXIST::FUNCTION:
|
||||
ERR_load_ECDSA_strings 3631 EXIST::FUNCTION:ECDSA
|
||||
EC_GROUP_get_basis_type 3632 EXIST::FUNCTION:EC
|
||||
STORE_list_public_key_next 3633 EXIST::FUNCTION:
|
||||
i2v_ASN1_BIT_STRING 3634 EXIST::FUNCTION:
|
||||
STORE_OBJECT_free 3635 EXIST::FUNCTION:
|
||||
BN_nist_mod_384 3636 EXIST::FUNCTION:
|
||||
i2d_X509_CERT_PAIR 3637 EXIST::FUNCTION:
|
||||
PEM_write_ECPKParameters 3638 EXIST:!WIN16:FUNCTION:EC
|
||||
ECDH_compute_key 3639 EXIST::FUNCTION:ECDH
|
||||
STORE_ATTR_INFO_get0_sha1str 3640 EXIST::FUNCTION:
|
||||
ENGINE_register_all_ECDH 3641 EXIST::FUNCTION:ENGINE
|
||||
pqueue_pop 3642 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_get0_cstr 3643 EXIST::FUNCTION:
|
||||
POLICY_CONSTRAINTS_it 3644 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_CONSTRAINTS_it 3644 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
STORE_get_ex_new_index 3645 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_attr_by_OBJ 3646 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_add0_policy 3647 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_solve_quad 3648 EXIST::FUNCTION:
|
||||
SHA256 3649 EXIST::FUNCTION:SHA,SHA256
|
||||
i2d_ECPrivateKey_fp 3650 EXIST::FUNCTION:EC,FP_API
|
||||
X509_policy_tree_get0_user_policies 3651 EXIST:!VMS:FUNCTION:
|
||||
X509_pcy_tree_get0_usr_policies 3651 EXIST:VMS:FUNCTION:
|
||||
OPENSSL_DIR_read 3652 EXIST::FUNCTION:
|
||||
ENGINE_register_all_ECDSA 3653 EXIST::FUNCTION:ENGINE
|
||||
X509_VERIFY_PARAM_lookup 3654 EXIST::FUNCTION:
|
||||
EC_POINT_get_affine_coordinates_GF2m 3655 EXIST:!VMS:FUNCTION:EC
|
||||
EC_POINT_get_affine_coords_GF2m 3655 EXIST:VMS:FUNCTION:EC
|
||||
EC_GROUP_dup 3656 EXIST::FUNCTION:EC
|
||||
ENGINE_get_default_ECDSA 3657 EXIST::FUNCTION:ENGINE
|
||||
EC_KEY_new 3658 EXIST::FUNCTION:EC
|
||||
SHA256_Transform 3659 EXIST::FUNCTION:SHA,SHA256
|
||||
EC_KEY_set_enc_flags 3660 EXIST::FUNCTION:EC
|
||||
ECDSA_verify 3661 EXIST::FUNCTION:ECDSA
|
||||
EC_POINT_point2hex 3662 EXIST::FUNCTION:EC
|
||||
ENGINE_get_STORE 3663 EXIST::FUNCTION:ENGINE
|
||||
SHA512 3664 EXIST::FUNCTION:SHA,SHA512
|
||||
STORE_get_certificate 3665 EXIST::FUNCTION:
|
||||
ECDSA_do_sign_ex 3666 EXIST::FUNCTION:ECDSA
|
||||
ECDSA_do_verify 3667 EXIST::FUNCTION:ECDSA
|
||||
d2i_ECPrivateKey_fp 3668 EXIST::FUNCTION:EC,FP_API
|
||||
STORE_delete_certificate 3669 EXIST::FUNCTION:
|
||||
SHA512_Transform 3670 EXIST::FUNCTION:SHA,SHA512
|
||||
X509_STORE_set1_param 3671 EXIST::FUNCTION:
|
||||
STORE_method_get_ctrl_function 3672 EXIST::FUNCTION:
|
||||
STORE_free 3673 EXIST::FUNCTION:
|
||||
PEM_write_ECPrivateKey 3674 EXIST:!WIN16:FUNCTION:EC
|
||||
STORE_method_get_unlock_store_function 3675 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_unlock_store_fn 3675 EXIST:VMS:FUNCTION:
|
||||
STORE_get_ex_data 3676 EXIST::FUNCTION:
|
||||
EC_KEY_set_public_key 3677 EXIST::FUNCTION:EC
|
||||
PEM_read_ECPKParameters 3678 EXIST:!WIN16:FUNCTION:EC
|
||||
X509_CERT_PAIR_new 3679 EXIST::FUNCTION:
|
||||
ENGINE_register_STORE 3680 EXIST::FUNCTION:ENGINE
|
||||
RSA_generate_key_ex 3681 EXIST::FUNCTION:RSA
|
||||
DSA_generate_parameters_ex 3682 EXIST::FUNCTION:DSA
|
||||
ECParameters_print_fp 3683 EXIST::FUNCTION:EC,FP_API
|
||||
X509V3_NAME_from_section 3684 EXIST::FUNCTION:
|
||||
EVP_PKEY_add1_attr 3685 EXIST::FUNCTION:
|
||||
STORE_modify_crl 3686 EXIST::FUNCTION:
|
||||
STORE_list_private_key_start 3687 EXIST::FUNCTION:
|
||||
POLICY_MAPPINGS_it 3688 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_MAPPINGS_it 3688 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
GENERAL_SUBTREE_it 3689 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
GENERAL_SUBTREE_it 3689 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
EC_GROUP_get_curve_name 3690 EXIST::FUNCTION:EC
|
||||
PEM_write_X509_CERT_PAIR 3691 EXIST:!WIN16:FUNCTION:
|
||||
BIO_dump_indent_cb 3692 EXIST::FUNCTION:
|
||||
d2i_X509_CERT_PAIR 3693 EXIST::FUNCTION:
|
||||
STORE_list_private_key_endp 3694 EXIST::FUNCTION:
|
||||
asn1_const_Finish 3695 EXIST::FUNCTION:
|
||||
i2d_EC_PUBKEY_fp 3696 EXIST::FUNCTION:EC,FP_API
|
||||
BN_nist_mod_256 3697 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_add0_table 3698 EXIST::FUNCTION:
|
||||
pqueue_free 3699 EXIST::FUNCTION:
|
||||
BN_BLINDING_create_param 3700 EXIST::FUNCTION:
|
||||
ECDSA_size 3701 EXIST::FUNCTION:ECDSA
|
||||
ENGINE_get_STORE 3702 EXIST::FUNCTION:ENGINE
|
||||
EC_KEY_get_enc_flags 3703 EXIST::FUNCTION:EC
|
||||
STORE_get_crl 3704 EXIST::FUNCTION:
|
||||
ECDH_get_default_method 3705 EXIST::FUNCTION:ECDH
|
||||
ECDH_get_ex_new_index 3706 EXIST::FUNCTION:ECDH
|
||||
PEM_read_X509_CERT_PAIR 3707 EXIST:!WIN16:FUNCTION:
|
||||
ERR_load_ECDSA_strings 3708 EXIST::FUNCTION:ECDSA
|
||||
BN_nist_mod_384 3709 EXIST::FUNCTION:
|
||||
ENGINE_get_default_ECDH 3710 EXIST::FUNCTION:ENGINE
|
||||
X509_VERIFY_PARAM_inherit 3711 EXIST::FUNCTION:
|
||||
ENGINE_load_padlock 3712 EXIST::FUNCTION:ENGINE
|
||||
BN_get0_nist_prime_224 3713 EXIST::FUNCTION:
|
||||
X509_STORE_set_depth 3714 EXIST::FUNCTION:
|
||||
a2i_IPADDRESS 3715 EXIST::FUNCTION:
|
||||
ECDSA_OpenSSL 3716 EXIST::FUNCTION:ECDSA
|
||||
STORE_list_private_key_next 3717 EXIST::FUNCTION:
|
||||
STORE_store_certificate 3718 EXIST::FUNCTION:
|
||||
STORE_method_set_list_start_function 3719 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_start_fn 3719 EXIST:VMS:FUNCTION:
|
||||
X509_STORE_CTX_get0_policy_tree 3720 EXIST::FUNCTION:
|
||||
SHA224_Init 3721 EXIST::FUNCTION:SHA,SHA256
|
||||
pqueue_print 3722 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set1_policies 3723 EXIST::FUNCTION:
|
||||
ASN1_generate_v3 3724 EXIST::FUNCTION:
|
||||
pqueue_find 3725 EXIST::FUNCTION:
|
||||
i2d_ECDSA_SIG 3726 EXIST::FUNCTION:ECDSA
|
||||
STORE_method_get_ctrl_function 3727 EXIST::FUNCTION:
|
||||
ECDH_set_ex_data 3728 EXIST::FUNCTION:ECDH
|
||||
ECParameters_print_fp 3729 EXIST::FUNCTION:EC,FP_API
|
||||
STORE_method_set_list_end_function 3730 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_list_end_fn 3730 EXIST:VMS:FUNCTION:
|
||||
ENGINE_register_all_STORE 3731 EXIST::FUNCTION:ENGINE
|
||||
EC_KEY_set_private_key 3732 EXIST::FUNCTION:EC
|
||||
ECDSA_do_sign_ex 3733 EXIST::FUNCTION:ECDSA
|
||||
X509_policy_tree_get0_level 3734 EXIST::FUNCTION:
|
||||
X509_POLICY_NODE_print 3735 EXIST::FUNCTION:
|
||||
ENGINE_get_ECDH 3736 EXIST::FUNCTION:ENGINE
|
||||
BIO_s_datagram 3737 EXIST::FUNCTION:DGRAM
|
||||
PEM_read_ECPKParameters 3738 EXIST:!WIN16:FUNCTION:EC
|
||||
ECDSA_set_method 3739 EXIST::FUNCTION:ECDSA
|
||||
ERR_load_STORE_strings 3740 EXIST::FUNCTION:
|
||||
STORE_method_get_modify_function 3741 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_modify_fn 3741 EXIST:VMS:FUNCTION:
|
||||
EC_KEY_set_enc_flags 3742 EXIST::FUNCTION:EC
|
||||
d2i_EC_PUBKEY 3743 EXIST::FUNCTION:EC
|
||||
SHA256_Final 3744 EXIST::FUNCTION:SHA,SHA256
|
||||
BN_GF2m_add 3745 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_set0_crls 3746 EXIST::FUNCTION:
|
||||
GENERAL_SUBTREE_new 3747 EXIST::FUNCTION:
|
||||
STORE_revoke_private_key 3748 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_new 3749 EXIST::FUNCTION:
|
||||
BIO_dump_fp 3750 EXIST::FUNCTION:FP_API
|
||||
BN_GF2m_mod_arr 3751 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_exp 3752 EXIST::FUNCTION:
|
||||
EC_KEY_generate_key 3753 EXIST::FUNCTION:EC
|
||||
RSA_setup_blinding 3754 EXIST::FUNCTION:RSA
|
||||
POLICY_MAPPING_it 3755 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||
POLICY_MAPPING_it 3755 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||
DSO_merge 3756 EXIST::FUNCTION:
|
||||
STORE_method_get_update_store_function 3757 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_update_store_fn 3757 EXIST:VMS:FUNCTION:
|
||||
ENGINE_register_all_ECDH 3758 EXIST::FUNCTION:ENGINE
|
||||
i2d_ECPrivateKey 3759 EXIST::FUNCTION:EC
|
||||
d2i_EC_PUBKEY_bio 3702 EXIST::FUNCTION:BIO,EC
|
||||
BN_get0_nist_prime_521 3703 EXIST::FUNCTION:
|
||||
STORE_ATTR_INFO_modify_sha1str 3704 EXIST::FUNCTION:
|
||||
BN_generate_prime_ex 3705 EXIST::FUNCTION:
|
||||
EC_GROUP_new_by_curve_name 3706 EXIST::FUNCTION:EC
|
||||
SHA256_Final 3707 EXIST::FUNCTION:SHA,SHA256
|
||||
DH_generate_parameters_ex 3708 EXIST::FUNCTION:DH
|
||||
PEM_read_bio_ECPrivateKey 3709 EXIST::FUNCTION:EC
|
||||
STORE_method_get_cleanup_function 3710 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_cleanup_fn 3710 EXIST:VMS:FUNCTION:
|
||||
ENGINE_get_ECDH 3711 EXIST::FUNCTION:ENGINE
|
||||
d2i_ECDSA_SIG 3712 EXIST::FUNCTION:ECDSA
|
||||
BN_is_prime_fasttest_ex 3713 EXIST::FUNCTION:
|
||||
ECDSA_sign 3714 EXIST::FUNCTION:ECDSA
|
||||
X509_policy_check 3715 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_attr_by_NID 3716 EXIST::FUNCTION:
|
||||
STORE_set_ex_data 3717 EXIST::FUNCTION:
|
||||
ENGINE_get_ECDSA 3718 EXIST::FUNCTION:ENGINE
|
||||
EVP_ecdsa 3719 EXIST::FUNCTION:SHA
|
||||
BN_BLINDING_get_flags 3720 EXIST::FUNCTION:
|
||||
PKCS12_add_cert 3721 EXIST::FUNCTION:
|
||||
STORE_OBJECT_new 3722 EXIST::FUNCTION:
|
||||
ERR_load_ECDH_strings 3723 EXIST::FUNCTION:ECDH
|
||||
EC_KEY_dup 3724 EXIST::FUNCTION:EC
|
||||
EVP_CIPHER_CTX_rand_key 3725 EXIST::FUNCTION:
|
||||
ECDSA_set_method 3726 EXIST::FUNCTION:ECDSA
|
||||
a2i_IPADDRESS_NC 3727 EXIST::FUNCTION:
|
||||
d2i_ECParameters 3728 EXIST::FUNCTION:EC
|
||||
STORE_list_certificate_end 3729 EXIST::FUNCTION:
|
||||
STORE_get_crl 3730 EXIST::FUNCTION:
|
||||
X509_POLICY_NODE_print 3731 EXIST::FUNCTION:
|
||||
SHA384_Init 3732 EXIST::FUNCTION:SHA,SHA512
|
||||
EC_GF2m_simple_method 3733 EXIST::FUNCTION:EC
|
||||
ECDSA_set_ex_data 3734 EXIST::FUNCTION:ECDSA
|
||||
SHA384_Final 3735 EXIST::FUNCTION:SHA,SHA512
|
||||
PKCS7_set_digest 3736 EXIST::FUNCTION:
|
||||
EC_KEY_print 3737 EXIST::FUNCTION:BIO,EC
|
||||
STORE_method_set_lock_store_function 3738 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_set_lock_store_fn 3738 EXIST:VMS:FUNCTION:
|
||||
ECDSA_get_ex_new_index 3739 EXIST::FUNCTION:ECDSA
|
||||
SHA384 3740 EXIST::FUNCTION:SHA,SHA512
|
||||
POLICY_MAPPING_new 3741 EXIST::FUNCTION:
|
||||
STORE_list_certificate_endp 3742 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_get0_policy_tree 3743 EXIST::FUNCTION:
|
||||
EC_GROUP_set_asn1_flag 3744 EXIST::FUNCTION:EC
|
||||
EC_KEY_check_key 3745 EXIST::FUNCTION:EC
|
||||
d2i_EC_PUBKEY_fp 3746 EXIST::FUNCTION:EC,FP_API
|
||||
PKCS7_set0_type_other 3747 EXIST::FUNCTION:
|
||||
PEM_read_bio_X509_CERT_PAIR 3748 EXIST::FUNCTION:
|
||||
pqueue_next 3749 EXIST::FUNCTION:
|
||||
STORE_method_get_list_end_function 3750 EXIST:!VMS:FUNCTION:
|
||||
STORE_meth_get_list_end_fn 3750 EXIST:VMS:FUNCTION:
|
||||
EVP_PKEY_add1_attr_by_OBJ 3751 EXIST::FUNCTION:
|
||||
X509_VERIFY_PARAM_set_time 3752 EXIST::FUNCTION:
|
||||
pqueue_new 3753 EXIST::FUNCTION:
|
||||
ENGINE_set_default_ECDH 3754 EXIST::FUNCTION:ENGINE
|
||||
STORE_new_method 3755 EXIST::FUNCTION:
|
||||
PKCS12_add_key 3756 EXIST::FUNCTION:
|
||||
DSO_merge 3757 EXIST::FUNCTION:
|
||||
EC_POINT_hex2point 3758 EXIST::FUNCTION:EC
|
||||
BIO_dump_cb 3759 EXIST::FUNCTION:
|
||||
SHA256_Update 3760 EXIST::FUNCTION:SHA,SHA256
|
||||
pqueue_insert 3761 EXIST::FUNCTION:
|
||||
pitem_free 3762 EXIST::FUNCTION:
|
||||
BN_GF2m_mod_inv_arr 3763 EXIST::FUNCTION:
|
||||
ENGINE_unregister_ECDSA 3764 EXIST::FUNCTION:ENGINE
|
||||
BN_BLINDING_set_thread_id 3765 EXIST::FUNCTION:
|
||||
|
Reference in New Issue
Block a user