mirror of
https://github.com/openssl/openssl.git
synced 2025-01-30 14:01:55 +08:00
crypto/des: remove obsolete functions.
Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
5d8b70a45d
commit
bfcdd4d098
@ -1,12 +1,11 @@
|
|||||||
LIBS=../../libcrypto
|
LIBS=../../libcrypto
|
||||||
SOURCE[../../libcrypto]=\
|
SOURCE[../../libcrypto]=\
|
||||||
set_key.c ecb_enc.c cbc_enc.c \
|
set_key.c ecb_enc.c cbc_enc.c \
|
||||||
ecb3_enc.c cfb64enc.c cfb64ede.c cfb_enc.c ofb64ede.c \
|
ecb3_enc.c cfb64enc.c cfb64ede.c cfb_enc.c \
|
||||||
enc_read.c enc_writ.c ofb64enc.c \
|
ofb64ede.c ofb64enc.c ofb_enc.c \
|
||||||
ofb_enc.c str2key.c pcbc_enc.c qud_cksm.c rand_key.c \
|
str2key.c pcbc_enc.c qud_cksm.c rand_key.c \
|
||||||
{- $target{des_asm_src} -} \
|
{- $target{des_asm_src} -} \
|
||||||
fcrypt.c xcbc_enc.c rpc_enc.c cbc_cksm.c \
|
fcrypt.c xcbc_enc.c rpc_enc.c cbc_cksm.c
|
||||||
read2pwd.c
|
|
||||||
|
|
||||||
GENERATE[des_enc-sparc.S]=asm/des_enc.m4
|
GENERATE[des_enc-sparc.S]=asm/des_enc.m4
|
||||||
GENERATE[dest4-sparcv9.S]=asm/dest4-sparcv9.pl $(PERLASM_SCHEME)
|
GENERATE[dest4-sparcv9.S]=asm/dest4-sparcv9.pl $(PERLASM_SCHEME)
|
||||||
|
@ -60,38 +60,12 @@
|
|||||||
|
|
||||||
# include <openssl/e_os2.h>
|
# include <openssl/e_os2.h>
|
||||||
|
|
||||||
# if defined(OPENSSL_SYS_WIN32)
|
|
||||||
# ifndef OPENSSL_SYS_MSDOS
|
|
||||||
# define OPENSSL_SYS_MSDOS
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
|
# include <string.h>
|
||||||
|
|
||||||
# ifndef OPENSSL_SYS_MSDOS
|
|
||||||
# if !defined(OPENSSL_SYS_VMS) || defined(__DECC)
|
|
||||||
# ifdef OPENSSL_UNISTD
|
|
||||||
# include OPENSSL_UNISTD
|
|
||||||
# else
|
|
||||||
# include <unistd.h>
|
|
||||||
# endif
|
|
||||||
# include <math.h>
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# include <openssl/des.h>
|
# include <openssl/des.h>
|
||||||
|
|
||||||
# ifdef OPENSSL_SYS_MSDOS /* Visual C++ 2.1 (Windows NT/95) */
|
|
||||||
# include <stdlib.h>
|
|
||||||
# include <errno.h>
|
|
||||||
# include <time.h>
|
|
||||||
# include <io.h>
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if defined(__STDC__) || defined(OPENSSL_SYS_VMS) || defined(M_XENIX) || defined(OPENSSL_SYS_MSDOS)
|
|
||||||
# include <string.h>
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifdef OPENSSL_BUILD_SHLIBCRYPTO
|
# ifdef OPENSSL_BUILD_SHLIBCRYPTO
|
||||||
# undef OPENSSL_EXTERN
|
# undef OPENSSL_EXTERN
|
||||||
# define OPENSSL_EXTERN OPENSSL_EXPORT
|
# define OPENSSL_EXTERN OPENSSL_EXPORT
|
||||||
|
@ -1,234 +0,0 @@
|
|||||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This package is an SSL implementation written
|
|
||||||
* by Eric Young (eay@cryptsoft.com).
|
|
||||||
* The implementation was written so as to conform with Netscapes SSL.
|
|
||||||
*
|
|
||||||
* This library is free for commercial and non-commercial use as long as
|
|
||||||
* the following conditions are aheared to. The following conditions
|
|
||||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
|
||||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
|
||||||
* included with this distribution is covered by the same copyright terms
|
|
||||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
|
||||||
*
|
|
||||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
|
||||||
* the code are not to be removed.
|
|
||||||
* If this package is used in a product, Eric Young should be given attribution
|
|
||||||
* as the author of the parts of the library used.
|
|
||||||
* This can be in the form of a textual message at program startup or
|
|
||||||
* in documentation (online or textual) provided with the package.
|
|
||||||
*
|
|
||||||
* 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 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 acknowledgement:
|
|
||||||
* "This product includes cryptographic software written by
|
|
||||||
* Eric Young (eay@cryptsoft.com)"
|
|
||||||
* The word 'cryptographic' can be left out if the rouines from the library
|
|
||||||
* being used are not cryptographic related :-).
|
|
||||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
|
||||||
* the apps directory (application code) you must include an acknowledgement:
|
|
||||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
|
||||||
* ANY EXPRESS 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 AUTHOR OR 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.
|
|
||||||
*
|
|
||||||
* The licence and distribution terms for any publically available version or
|
|
||||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
|
||||||
* copied and put under another distribution licence
|
|
||||||
* [including the GNU Public Licence.]
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include "internal/cryptlib.h"
|
|
||||||
#include "des_locl.h"
|
|
||||||
|
|
||||||
/* This has some uglies in it but it works - even over sockets. */
|
|
||||||
/*
|
|
||||||
* extern int errno;
|
|
||||||
*/
|
|
||||||
OPENSSL_IMPLEMENT_GLOBAL(int, DES_rw_mode, DES_PCBC_MODE)
|
|
||||||
|
|
||||||
/*-
|
|
||||||
* WARNINGS:
|
|
||||||
*
|
|
||||||
* - The data format used by DES_enc_write() and DES_enc_read()
|
|
||||||
* has a cryptographic weakness: When asked to write more
|
|
||||||
* than MAXWRITE bytes, DES_enc_write will split the data
|
|
||||||
* into several chunks that are all encrypted
|
|
||||||
* using the same IV. So don't use these functions unless you
|
|
||||||
* are sure you know what you do (in which case you might
|
|
||||||
* not want to use them anyway).
|
|
||||||
*
|
|
||||||
* - This code cannot handle non-blocking sockets.
|
|
||||||
*
|
|
||||||
* - This function uses an internal state and thus cannot be
|
|
||||||
* used on multiple files.
|
|
||||||
*/
|
|
||||||
int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched,
|
|
||||||
DES_cblock *iv)
|
|
||||||
{
|
|
||||||
#if defined(OPENSSL_NO_POSIX_IO)
|
|
||||||
return (0);
|
|
||||||
#else
|
|
||||||
/* data to be unencrypted */
|
|
||||||
int net_num = 0;
|
|
||||||
static unsigned char *net = NULL;
|
|
||||||
/*
|
|
||||||
* extra unencrypted data for when a block of 100 comes in but is
|
|
||||||
* des_read one byte at a time.
|
|
||||||
*/
|
|
||||||
static unsigned char *unnet = NULL;
|
|
||||||
static int unnet_start = 0;
|
|
||||||
static int unnet_left = 0;
|
|
||||||
static unsigned char *tmpbuf = NULL;
|
|
||||||
int i;
|
|
||||||
long num = 0, rnum;
|
|
||||||
unsigned char *p;
|
|
||||||
|
|
||||||
if (tmpbuf == NULL) {
|
|
||||||
tmpbuf = OPENSSL_malloc(BSIZE);
|
|
||||||
if (tmpbuf == NULL)
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
if (net == NULL) {
|
|
||||||
net = OPENSSL_malloc(BSIZE);
|
|
||||||
if (net == NULL)
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
if (unnet == NULL) {
|
|
||||||
unnet = OPENSSL_malloc(BSIZE);
|
|
||||||
if (unnet == NULL)
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
/* left over data from last decrypt */
|
|
||||||
if (unnet_left != 0) {
|
|
||||||
if (unnet_left < len) {
|
|
||||||
/*
|
|
||||||
* we still still need more data but will return with the number
|
|
||||||
* of bytes we have - should always check the return value
|
|
||||||
*/
|
|
||||||
memcpy(buf, &(unnet[unnet_start]), unnet_left);
|
|
||||||
/*
|
|
||||||
* eay 26/08/92 I had the next 2 lines reversed :-(
|
|
||||||
*/
|
|
||||||
i = unnet_left;
|
|
||||||
unnet_start = unnet_left = 0;
|
|
||||||
} else {
|
|
||||||
memcpy(buf, &(unnet[unnet_start]), len);
|
|
||||||
unnet_start += len;
|
|
||||||
unnet_left -= len;
|
|
||||||
i = len;
|
|
||||||
}
|
|
||||||
return (i);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We need to get more data. */
|
|
||||||
if (len > MAXWRITE)
|
|
||||||
len = MAXWRITE;
|
|
||||||
|
|
||||||
/* first - get the length */
|
|
||||||
while (net_num < HDRSIZE) {
|
|
||||||
# ifndef OPENSSL_SYS_WIN32
|
|
||||||
i = read(fd, (void *)&(net[net_num]), HDRSIZE - net_num);
|
|
||||||
# else
|
|
||||||
i = _read(fd, (void *)&(net[net_num]), HDRSIZE - net_num);
|
|
||||||
# endif
|
|
||||||
# ifdef EINTR
|
|
||||||
if ((i == -1) && (errno == EINTR))
|
|
||||||
continue;
|
|
||||||
# endif
|
|
||||||
if (i <= 0)
|
|
||||||
return (0);
|
|
||||||
net_num += i;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* we now have at net_num bytes in net */
|
|
||||||
p = net;
|
|
||||||
/* num=0; */
|
|
||||||
n2l(p, num);
|
|
||||||
/*
|
|
||||||
* num should be rounded up to the next group of eight we make sure that
|
|
||||||
* we have read a multiple of 8 bytes from the net.
|
|
||||||
*/
|
|
||||||
if ((num > MAXWRITE) || (num < 0)) /* error */
|
|
||||||
return (-1);
|
|
||||||
rnum = (num < 8) ? 8 : ((num + 7) / 8 * 8);
|
|
||||||
|
|
||||||
net_num = 0;
|
|
||||||
while (net_num < rnum) {
|
|
||||||
# ifndef OPENSSL_SYS_WIN32
|
|
||||||
i = read(fd, (void *)&(net[net_num]), rnum - net_num);
|
|
||||||
# else
|
|
||||||
i = _read(fd, (void *)&(net[net_num]), rnum - net_num);
|
|
||||||
# endif
|
|
||||||
# ifdef EINTR
|
|
||||||
if ((i == -1) && (errno == EINTR))
|
|
||||||
continue;
|
|
||||||
# endif
|
|
||||||
if (i <= 0)
|
|
||||||
return (0);
|
|
||||||
net_num += i;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check if there will be data left over. */
|
|
||||||
if (len < num) {
|
|
||||||
if (DES_rw_mode & DES_PCBC_MODE)
|
|
||||||
DES_pcbc_encrypt(net, unnet, num, sched, iv, DES_DECRYPT);
|
|
||||||
else
|
|
||||||
DES_cbc_encrypt(net, unnet, num, sched, iv, DES_DECRYPT);
|
|
||||||
memcpy(buf, unnet, len);
|
|
||||||
unnet_start = len;
|
|
||||||
unnet_left = num - len;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following line is done because we return num as the number of
|
|
||||||
* bytes read.
|
|
||||||
*/
|
|
||||||
num = len;
|
|
||||||
} else {
|
|
||||||
/*-
|
|
||||||
* >output is a multiple of 8 byes, if len < rnum
|
|
||||||
* >we must be careful. The user must be aware that this
|
|
||||||
* >routine will write more bytes than he asked for.
|
|
||||||
* >The length of the buffer must be correct.
|
|
||||||
* FIXED - Should be ok now 18-9-90 - eay */
|
|
||||||
if (len < rnum) {
|
|
||||||
|
|
||||||
if (DES_rw_mode & DES_PCBC_MODE)
|
|
||||||
DES_pcbc_encrypt(net, tmpbuf, num, sched, iv, DES_DECRYPT);
|
|
||||||
else
|
|
||||||
DES_cbc_encrypt(net, tmpbuf, num, sched, iv, DES_DECRYPT);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* eay 26/08/92 fix a bug that returned more bytes than you asked
|
|
||||||
* for (returned len bytes :-(
|
|
||||||
*/
|
|
||||||
memcpy(buf, tmpbuf, num);
|
|
||||||
} else {
|
|
||||||
if (DES_rw_mode & DES_PCBC_MODE)
|
|
||||||
DES_pcbc_encrypt(net, buf, num, sched, iv, DES_DECRYPT);
|
|
||||||
else
|
|
||||||
DES_cbc_encrypt(net, buf, num, sched, iv, DES_DECRYPT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return num;
|
|
||||||
#endif /* OPENSSL_NO_POSIX_IO */
|
|
||||||
}
|
|
@ -1,180 +0,0 @@
|
|||||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This package is an SSL implementation written
|
|
||||||
* by Eric Young (eay@cryptsoft.com).
|
|
||||||
* The implementation was written so as to conform with Netscapes SSL.
|
|
||||||
*
|
|
||||||
* This library is free for commercial and non-commercial use as long as
|
|
||||||
* the following conditions are aheared to. The following conditions
|
|
||||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
|
||||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
|
||||||
* included with this distribution is covered by the same copyright terms
|
|
||||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
|
||||||
*
|
|
||||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
|
||||||
* the code are not to be removed.
|
|
||||||
* If this package is used in a product, Eric Young should be given attribution
|
|
||||||
* as the author of the parts of the library used.
|
|
||||||
* This can be in the form of a textual message at program startup or
|
|
||||||
* in documentation (online or textual) provided with the package.
|
|
||||||
*
|
|
||||||
* 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 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 acknowledgement:
|
|
||||||
* "This product includes cryptographic software written by
|
|
||||||
* Eric Young (eay@cryptsoft.com)"
|
|
||||||
* The word 'cryptographic' can be left out if the rouines from the library
|
|
||||||
* being used are not cryptographic related :-).
|
|
||||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
|
||||||
* the apps directory (application code) you must include an acknowledgement:
|
|
||||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
|
||||||
* ANY EXPRESS 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 AUTHOR OR 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.
|
|
||||||
*
|
|
||||||
* The licence and distribution terms for any publically available version or
|
|
||||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
|
||||||
* copied and put under another distribution licence
|
|
||||||
* [including the GNU Public Licence.]
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "internal/cryptlib.h"
|
|
||||||
#include "des_locl.h"
|
|
||||||
#include <openssl/rand.h>
|
|
||||||
|
|
||||||
/*-
|
|
||||||
* WARNINGS:
|
|
||||||
*
|
|
||||||
* - The data format used by DES_enc_write() and DES_enc_read()
|
|
||||||
* has a cryptographic weakness: When asked to write more
|
|
||||||
* than MAXWRITE bytes, DES_enc_write will split the data
|
|
||||||
* into several chunks that are all encrypted
|
|
||||||
* using the same IV. So don't use these functions unless you
|
|
||||||
* are sure you know what you do (in which case you might
|
|
||||||
* not want to use them anyway).
|
|
||||||
*
|
|
||||||
* - This code cannot handle non-blocking sockets.
|
|
||||||
*/
|
|
||||||
|
|
||||||
int DES_enc_write(int fd, const void *_buf, int len,
|
|
||||||
DES_key_schedule *sched, DES_cblock *iv)
|
|
||||||
{
|
|
||||||
#if defined(OPENSSL_NO_POSIX_IO)
|
|
||||||
return (-1);
|
|
||||||
#else
|
|
||||||
# ifdef _LIBC
|
|
||||||
extern unsigned long time();
|
|
||||||
extern int write();
|
|
||||||
# endif
|
|
||||||
const unsigned char *buf = _buf;
|
|
||||||
long rnum;
|
|
||||||
int i, j, k, outnum;
|
|
||||||
static unsigned char *outbuf = NULL;
|
|
||||||
unsigned char shortbuf[8];
|
|
||||||
unsigned char *p;
|
|
||||||
const unsigned char *cp;
|
|
||||||
static int start = 1;
|
|
||||||
|
|
||||||
if (len < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (outbuf == NULL) {
|
|
||||||
outbuf = OPENSSL_malloc(BSIZE + HDRSIZE);
|
|
||||||
if (outbuf == NULL)
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* If we are sending less than 8 bytes, the same char will look the same
|
|
||||||
* if we don't pad it out with random bytes
|
|
||||||
*/
|
|
||||||
if (start) {
|
|
||||||
start = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* lets recurse if we want to send the data in small chunks */
|
|
||||||
if (len > MAXWRITE) {
|
|
||||||
j = 0;
|
|
||||||
for (i = 0; i < len; i += k) {
|
|
||||||
k = DES_enc_write(fd, &(buf[i]),
|
|
||||||
((len - i) > MAXWRITE) ? MAXWRITE : (len - i),
|
|
||||||
sched, iv);
|
|
||||||
if (k < 0)
|
|
||||||
return (k);
|
|
||||||
else
|
|
||||||
j += k;
|
|
||||||
}
|
|
||||||
return (j);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* write length first */
|
|
||||||
p = outbuf;
|
|
||||||
l2n(len, p);
|
|
||||||
|
|
||||||
/* pad short strings */
|
|
||||||
if (len < 8) {
|
|
||||||
cp = shortbuf;
|
|
||||||
memcpy(shortbuf, buf, len);
|
|
||||||
if (RAND_bytes(shortbuf + len, 8 - len) <= 0)
|
|
||||||
return -1;
|
|
||||||
rnum = 8;
|
|
||||||
} else {
|
|
||||||
cp = buf;
|
|
||||||
rnum = ((len + 7) / 8 * 8); /* round up to nearest eight */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DES_rw_mode & DES_PCBC_MODE)
|
|
||||||
DES_pcbc_encrypt(cp, &(outbuf[HDRSIZE]), (len < 8) ? 8 : len, sched,
|
|
||||||
iv, DES_ENCRYPT);
|
|
||||||
else
|
|
||||||
DES_cbc_encrypt(cp, &(outbuf[HDRSIZE]), (len < 8) ? 8 : len, sched,
|
|
||||||
iv, DES_ENCRYPT);
|
|
||||||
|
|
||||||
/* output */
|
|
||||||
outnum = rnum + HDRSIZE;
|
|
||||||
|
|
||||||
for (j = 0; j < outnum; j += i) {
|
|
||||||
/*
|
|
||||||
* eay 26/08/92 I was not doing writing from where we got up to.
|
|
||||||
*/
|
|
||||||
# ifndef _WIN32
|
|
||||||
i = write(fd, (void *)&(outbuf[j]), outnum - j);
|
|
||||||
# else
|
|
||||||
i = _write(fd, (void *)&(outbuf[j]), outnum - j);
|
|
||||||
# endif
|
|
||||||
if (i == -1) {
|
|
||||||
# ifdef EINTR
|
|
||||||
if (errno == EINTR)
|
|
||||||
i = 0;
|
|
||||||
else
|
|
||||||
# endif
|
|
||||||
/*
|
|
||||||
* This is really a bad error - very bad It will stuff-up
|
|
||||||
* both ends.
|
|
||||||
*/
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (len);
|
|
||||||
#endif /* OPENSSL_NO_POSIX_IO */
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
/* ====================================================================
|
|
||||||
* Copyright (c) 2001-2002 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).
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This package is an SSL implementation written
|
|
||||||
* by Eric Young (eay@cryptsoft.com).
|
|
||||||
* The implementation was written so as to conform with Netscapes SSL.
|
|
||||||
*
|
|
||||||
* This library is free for commercial and non-commercial use as long as
|
|
||||||
* the following conditions are aheared to. The following conditions
|
|
||||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
|
||||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
|
||||||
* included with this distribution is covered by the same copyright terms
|
|
||||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
|
||||||
*
|
|
||||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
|
||||||
* the code are not to be removed.
|
|
||||||
* If this package is used in a product, Eric Young should be given attribution
|
|
||||||
* as the author of the parts of the library used.
|
|
||||||
* This can be in the form of a textual message at program startup or
|
|
||||||
* in documentation (online or textual) provided with the package.
|
|
||||||
*
|
|
||||||
* 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 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 acknowledgement:
|
|
||||||
* "This product includes cryptographic software written by
|
|
||||||
* Eric Young (eay@cryptsoft.com)"
|
|
||||||
* The word 'cryptographic' can be left out if the rouines from the library
|
|
||||||
* being used are not cryptographic related :-).
|
|
||||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
|
||||||
* the apps directory (application code) you must include an acknowledgement:
|
|
||||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
|
||||||
* ANY EXPRESS 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 AUTHOR OR 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.
|
|
||||||
*
|
|
||||||
* The licence and distribution terms for any publically available version or
|
|
||||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
|
||||||
* copied and put under another distribution licence
|
|
||||||
* [including the GNU Public Licence.]
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <openssl/des.h>
|
|
||||||
#include <openssl/ui.h>
|
|
||||||
#include <openssl/crypto.h>
|
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_UI
|
|
||||||
|
|
||||||
#ifndef BUFSIZ
|
|
||||||
#define BUFSIZ 256
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int DES_read_password(DES_cblock *key, const char *prompt, int verify)
|
|
||||||
{
|
|
||||||
int ok;
|
|
||||||
char buf[BUFSIZ], buff[BUFSIZ];
|
|
||||||
|
|
||||||
if ((ok = UI_UTIL_read_pw(buf, buff, BUFSIZ, prompt, verify)) == 0)
|
|
||||||
DES_string_to_key(buf, key);
|
|
||||||
OPENSSL_cleanse(buf, BUFSIZ);
|
|
||||||
OPENSSL_cleanse(buff, BUFSIZ);
|
|
||||||
return (ok);
|
|
||||||
}
|
|
||||||
|
|
||||||
int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2,
|
|
||||||
const char *prompt, int verify)
|
|
||||||
{
|
|
||||||
int ok;
|
|
||||||
char buf[BUFSIZ], buff[BUFSIZ];
|
|
||||||
|
|
||||||
if ((ok = UI_UTIL_read_pw(buf, buff, BUFSIZ, prompt, verify)) == 0)
|
|
||||||
DES_string_to_2keys(buf, key1, key2);
|
|
||||||
OPENSSL_cleanse(buf, BUFSIZ);
|
|
||||||
OPENSSL_cleanse(buff, BUFSIZ);
|
|
||||||
return (ok);
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -10,7 +10,7 @@ DES_ofb64_encrypt, DES_xcbc_encrypt, DES_ede2_cbc_encrypt,
|
|||||||
DES_ede2_cfb64_encrypt, DES_ede2_ofb64_encrypt, DES_ede3_cbc_encrypt,
|
DES_ede2_cfb64_encrypt, DES_ede2_ofb64_encrypt, DES_ede3_cbc_encrypt,
|
||||||
DES_ede3_cfb64_encrypt, DES_ede3_ofb64_encrypt,
|
DES_ede3_cfb64_encrypt, DES_ede3_ofb64_encrypt,
|
||||||
DES_cbc_cksum, DES_quad_cksum, DES_string_to_key, DES_string_to_2keys,
|
DES_cbc_cksum, DES_quad_cksum, DES_string_to_key, DES_string_to_2keys,
|
||||||
DES_fcrypt, DES_crypt, DES_enc_read, DES_enc_write - DES encryption
|
DES_fcrypt, DES_crypt - DES encryption
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
@ -93,11 +93,6 @@ DES_fcrypt, DES_crypt, DES_enc_read, DES_enc_write - DES encryption
|
|||||||
char *DES_fcrypt(const char *buf, const char *salt, char *ret);
|
char *DES_fcrypt(const char *buf, const char *salt, char *ret);
|
||||||
char *DES_crypt(const char *buf, const char *salt);
|
char *DES_crypt(const char *buf, const char *salt);
|
||||||
|
|
||||||
int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched,
|
|
||||||
DES_cblock *iv);
|
|
||||||
int DES_enc_write(int fd, const void *buf, int len,
|
|
||||||
DES_key_schedule *sched, DES_cblock *iv);
|
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
This library contains a fast implementation of the DES encryption
|
This library contains a fast implementation of the DES encryption
|
||||||
@ -256,25 +251,6 @@ containing the length of the following encrypted data. The encrypted
|
|||||||
data then follows, padded with random data out to a multiple of 8
|
data then follows, padded with random data out to a multiple of 8
|
||||||
bytes.
|
bytes.
|
||||||
|
|
||||||
DES_enc_read() is used to read I<len> bytes from file descriptor
|
|
||||||
I<fd> into buffer I<buf>. The data being read from I<fd> is assumed to
|
|
||||||
have come from DES_enc_write() and is decrypted using I<sched> for
|
|
||||||
the key schedule and I<iv> for the initial vector.
|
|
||||||
|
|
||||||
B<Warning:> The data format used by DES_enc_write() and DES_enc_read()
|
|
||||||
has a cryptographic weakness: When asked to write more than MAXWRITE
|
|
||||||
bytes, DES_enc_write() will split the data into several chunks that
|
|
||||||
are all encrypted using the same IV. So don't use these functions
|
|
||||||
unless you are sure you know what you do (in which case you might not
|
|
||||||
want to use them anyway). They cannot handle non-blocking sockets.
|
|
||||||
DES_enc_read() uses an internal state and thus cannot be used on
|
|
||||||
multiple files.
|
|
||||||
|
|
||||||
I<DES_rw_mode> is used to specify the encryption mode to use with
|
|
||||||
DES_enc_read() and DES_end_write(). If set to I<DES_PCBC_MODE> (the
|
|
||||||
default), DES_pcbc_encrypt is used. If set to I<DES_CBC_MODE>
|
|
||||||
DES_cbc_encrypt is used.
|
|
||||||
|
|
||||||
=head1 BUGS
|
=head1 BUGS
|
||||||
|
|
||||||
DES_3cbc_encrypt() is flawed and must not be used in applications.
|
DES_3cbc_encrypt() is flawed and must not be used in applications.
|
||||||
|
@ -113,8 +113,6 @@ typedef struct DES_ks {
|
|||||||
|
|
||||||
OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */
|
OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */
|
||||||
# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key)
|
# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key)
|
||||||
OPENSSL_DECLARE_GLOBAL(int, DES_rw_mode); /* defaults to DES_PCBC_MODE */
|
|
||||||
# define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode)
|
|
||||||
|
|
||||||
const char *DES_options(void);
|
const char *DES_options(void);
|
||||||
void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,
|
void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,
|
||||||
@ -182,10 +180,6 @@ void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out,
|
|||||||
long length, DES_key_schedule *ks1,
|
long length, DES_key_schedule *ks1,
|
||||||
DES_key_schedule *ks2, DES_key_schedule *ks3,
|
DES_key_schedule *ks2, DES_key_schedule *ks3,
|
||||||
DES_cblock *ivec, int *num);
|
DES_cblock *ivec, int *num);
|
||||||
int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched,
|
|
||||||
DES_cblock *iv);
|
|
||||||
int DES_enc_write(int fd, const void *buf, int len, DES_key_schedule *sched,
|
|
||||||
DES_cblock *iv);
|
|
||||||
char *DES_fcrypt(const char *buf, const char *salt, char *ret);
|
char *DES_fcrypt(const char *buf, const char *salt, char *ret);
|
||||||
char *DES_crypt(const char *buf, const char *salt);
|
char *DES_crypt(const char *buf, const char *salt);
|
||||||
void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
|
void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
|
||||||
@ -218,12 +212,6 @@ void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out,
|
|||||||
long length, DES_key_schedule *schedule,
|
long length, DES_key_schedule *schedule,
|
||||||
DES_cblock *ivec, int *num);
|
DES_cblock *ivec, int *num);
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_UI
|
|
||||||
int DES_read_password(DES_cblock *key, const char *prompt, int verify);
|
|
||||||
int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2,
|
|
||||||
const char *prompt, int verify);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# define DES_fixup_key_parity DES_set_odd_parity
|
# define DES_fixup_key_parity DES_set_odd_parity
|
||||||
|
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
|
@ -1069,7 +1069,7 @@ TS_REQ_set_msg_imprint 1037 1_1_0 EXIST::FUNCTION:TS
|
|||||||
BN_mod_sub_quick 1038 1_1_0 EXIST::FUNCTION:
|
BN_mod_sub_quick 1038 1_1_0 EXIST::FUNCTION:
|
||||||
SMIME_write_CMS 1039 1_1_0 EXIST::FUNCTION:CMS
|
SMIME_write_CMS 1039 1_1_0 EXIST::FUNCTION:CMS
|
||||||
i2d_DSAPublicKey 1040 1_1_0 EXIST::FUNCTION:DSA
|
i2d_DSAPublicKey 1040 1_1_0 EXIST::FUNCTION:DSA
|
||||||
DES_enc_write 1041 1_1_0 EXIST::FUNCTION:DES
|
DES_enc_write 1041 1_1_0 NOEXIST::FUNCTION:
|
||||||
SMIME_text 1042 1_1_0 EXIST::FUNCTION:
|
SMIME_text 1042 1_1_0 EXIST::FUNCTION:
|
||||||
PKCS7_add_recipient_info 1043 1_1_0 EXIST::FUNCTION:
|
PKCS7_add_recipient_info 1043 1_1_0 EXIST::FUNCTION:
|
||||||
BN_get_word 1044 1_1_0 EXIST::FUNCTION:
|
BN_get_word 1044 1_1_0 EXIST::FUNCTION:
|
||||||
@ -1407,8 +1407,7 @@ ASN1_SCTX_get_app_data 1365 1_1_0 EXIST::FUNCTION:
|
|||||||
X509_get_default_cert_file_env 1366 1_1_0 EXIST::FUNCTION:
|
X509_get_default_cert_file_env 1366 1_1_0 EXIST::FUNCTION:
|
||||||
X509v3_addr_validate_resource_set 1367 1_1_0 EXIST::FUNCTION:RFC3779
|
X509v3_addr_validate_resource_set 1367 1_1_0 EXIST::FUNCTION:RFC3779
|
||||||
d2i_X509_VAL 1368 1_1_0 EXIST::FUNCTION:
|
d2i_X509_VAL 1368 1_1_0 EXIST::FUNCTION:
|
||||||
_shadow_DES_rw_mode 1369 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES
|
_shadow_DES_rw_mode 1369 1_1_0 NOEXIST::FUNCTION:
|
||||||
_shadow_DES_rw_mode 1369 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES
|
|
||||||
CRYPTO_gcm128_decrypt_ctr32 1370 1_1_0 EXIST::FUNCTION:
|
CRYPTO_gcm128_decrypt_ctr32 1370 1_1_0 EXIST::FUNCTION:
|
||||||
DHparams_print 1371 1_1_0 EXIST::FUNCTION:DH
|
DHparams_print 1371 1_1_0 EXIST::FUNCTION:DH
|
||||||
sk_unshift 1372 1_1_0 EXIST::FUNCTION:
|
sk_unshift 1372 1_1_0 EXIST::FUNCTION:
|
||||||
@ -2246,7 +2245,7 @@ TS_RESP_CTX_set_accuracy 2174 1_1_0 EXIST::FUNCTION:TS
|
|||||||
NETSCAPE_SPKI_get_pubkey 2175 1_1_0 EXIST::FUNCTION:
|
NETSCAPE_SPKI_get_pubkey 2175 1_1_0 EXIST::FUNCTION:
|
||||||
ECDSA_do_sign_ex 2176 1_1_0 EXIST::FUNCTION:EC
|
ECDSA_do_sign_ex 2176 1_1_0 EXIST::FUNCTION:EC
|
||||||
OCSP_ONEREQ_get_ext 2177 1_1_0 EXIST::FUNCTION:OCSP
|
OCSP_ONEREQ_get_ext 2177 1_1_0 EXIST::FUNCTION:OCSP
|
||||||
DES_read_password 2178 1_1_0 EXIST::FUNCTION:DES,UI
|
DES_read_password 2178 1_1_0 NOEXIST::FUNCTION:
|
||||||
BN_get_rfc3526_prime_4096 2179 1_1_0 EXIST::FUNCTION:
|
BN_get_rfc3526_prime_4096 2179 1_1_0 EXIST::FUNCTION:
|
||||||
d2i_PKCS7_fp 2180 1_1_0 EXIST::FUNCTION:STDIO
|
d2i_PKCS7_fp 2180 1_1_0 EXIST::FUNCTION:STDIO
|
||||||
PEM_write_bio_NETSCAPE_CERT_SEQUENCE 2181 1_1_0 EXIST::FUNCTION:
|
PEM_write_bio_NETSCAPE_CERT_SEQUENCE 2181 1_1_0 EXIST::FUNCTION:
|
||||||
@ -3496,7 +3495,7 @@ X509_CINF_new 3382 1_1_0 EXIST::FUNCTION:
|
|||||||
EVP_PKEY_keygen_init 3383 1_1_0 EXIST::FUNCTION:
|
EVP_PKEY_keygen_init 3383 1_1_0 EXIST::FUNCTION:
|
||||||
EVP_aes_192_ocb 3384 1_1_0 EXIST::FUNCTION:OCB
|
EVP_aes_192_ocb 3384 1_1_0 EXIST::FUNCTION:OCB
|
||||||
EVP_camellia_256_cfb1 3385 1_1_0 EXIST::FUNCTION:CAMELLIA
|
EVP_camellia_256_cfb1 3385 1_1_0 EXIST::FUNCTION:CAMELLIA
|
||||||
DES_read_2passwords 3386 1_1_0 EXIST::FUNCTION:DES,UI
|
DES_read_2passwords 3386 1_1_0 NOEXIST::FUNCTION:
|
||||||
CRYPTO_secure_actual_size 3387 1_1_0 EXIST::FUNCTION:
|
CRYPTO_secure_actual_size 3387 1_1_0 EXIST::FUNCTION:
|
||||||
COMP_CTX_free 3388 1_1_0 EXIST::FUNCTION:COMP
|
COMP_CTX_free 3388 1_1_0 EXIST::FUNCTION:COMP
|
||||||
i2d_PBE2PARAM 3389 1_1_0 EXIST::FUNCTION:
|
i2d_PBE2PARAM 3389 1_1_0 EXIST::FUNCTION:
|
||||||
@ -3931,7 +3930,7 @@ USERNOTICE_it 3809 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:
|
|||||||
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
|
||||||
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
PKEY_USAGE_PERIOD_it 3810 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
|
||||||
BN_mul_word 3811 1_1_0 EXIST::FUNCTION:
|
BN_mul_word 3811 1_1_0 EXIST::FUNCTION:
|
||||||
DES_enc_read 3812 1_1_0 EXIST::FUNCTION:DES
|
DES_enc_read 3812 1_1_0 NOEXIST::FUNCTION:
|
||||||
i2d_IPAddressRange 3813 1_1_0 EXIST::FUNCTION:RFC3779
|
i2d_IPAddressRange 3813 1_1_0 EXIST::FUNCTION:RFC3779
|
||||||
CMS_unsigned_add1_attr_by_txt 3814 1_1_0 EXIST::FUNCTION:CMS
|
CMS_unsigned_add1_attr_by_txt 3814 1_1_0 EXIST::FUNCTION:CMS
|
||||||
d2i_RSA_PUBKEY 3815 1_1_0 EXIST::FUNCTION:RSA
|
d2i_RSA_PUBKEY 3815 1_1_0 EXIST::FUNCTION:RSA
|
||||||
|
Loading…
Reference in New Issue
Block a user