VMS updates.

Submitted by: Richard Levitte <levitte@stacken.kth.se>
This commit is contained in:
Ulf Möller 1999-07-28 23:25:59 +00:00
parent 3e3d2ea2fc
commit 8c197cc55e
22 changed files with 282 additions and 59 deletions

18
VMS/TODO Normal file
View File

@ -0,0 +1,18 @@
TODO:
=====
There are a few things that need to be worked out in the VMS version of
OpenSSL, still:
- Description files. ("Makefile's" :-))
- Script code to link an already compiled build tree.
- A VMSINSTALlable version (way in the future, unless someone else hacks).
- shareable images (DLL for you Windows folks).
There may be other things that I have missed and that may be desirable.
Please send mail to <openssl-users@openssl.org> or to me directly if you
have any ideas.
--
Richard Levitte <richard@levitte.org>
1999-05-24

View File

@ -29,9 +29,15 @@ $ DEFINE/NOLOG WRK_SSLPRIVATE WRK_SSLROOT:[PRIVATE]
$ $
$ IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN - $ IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN -
CREATE/DIR/LOG WRK_SSLROOT:[000000] CREATE/DIR/LOG WRK_SSLROOT:[000000]
$ IF F$PARSE("WRK_SSLINCLUDE:") .EQS. "" THEN -
CREATE/DIR/LOG WRK_SSLINCLUDE:
$ IF F$PARSE("WRK_SSLROOT:[VMS]") .EQS. "" THEN - $ IF F$PARSE("WRK_SSLROOT:[VMS]") .EQS. "" THEN -
CREATE/DIR/LOG WRK_SSLROOT:[VMS] CREATE/DIR/LOG WRK_SSLROOT:[VMS]
$ $
$ EXHEADER := vms_idhacks.h
$
$ COPY 'EXHEADER' WRK_SSLINCLUDE: /LOG
$
$ OPEN/WRITE SF WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM $ OPEN/WRITE SF WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM
$ WRITE SYS$OUTPUT "%OPEN-I-CREATED, ",F$SEARCH("WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM")," created." $ WRITE SYS$OUTPUT "%OPEN-I-CREATED, ",F$SEARCH("WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM")," created."
$ WRITE SF "$! Startup file for Openssl 0.9.2-RL 15-Mar-1999" $ WRITE SF "$! Startup file for Openssl 0.9.2-RL 15-Mar-1999"

126
VMS/vms_idhacks.h Normal file
View File

@ -0,0 +1,126 @@
/* ====================================================================
* Copyright (c) 1999 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).
*
*/
#ifndef HEADER_VMS_IDHACKS_H
#define HEADER_VMS_IDHACKS_H
#ifdef VMS
/* Hack the names created with DECLARE_STACK_OF(PKCS7_SIGNER_INFO) */
#define sk_PKCS7_SIGNER_INFO_new sk_PKCS7_SIGINF_new
#define sk_PKCS7_SIGNER_INFO_new_null sk_PKCS7_SIGINF_new_null
#define sk_PKCS7_SIGNER_INFO_free sk_PKCS7_SIGINF_free
#define sk_PKCS7_SIGNER_INFO_num sk_PKCS7_SIGINF_num
#define sk_PKCS7_SIGNER_INFO_value sk_PKCS7_SIGINF_value
#define sk_PKCS7_SIGNER_INFO_set sk_PKCS7_SIGINF_set
#define sk_PKCS7_SIGNER_INFO_zero sk_PKCS7_SIGINF_zero
#define sk_PKCS7_SIGNER_INFO_push sk_PKCS7_SIGINF_push
#define sk_PKCS7_SIGNER_INFO_unshift sk_PKCS7_SIGINF_unshift
#define sk_PKCS7_SIGNER_INFO_find sk_PKCS7_SIGINF_find
#define sk_PKCS7_SIGNER_INFO_delete sk_PKCS7_SIGINF_delete
#define sk_PKCS7_SIGNER_INFO_delete_ptr sk_PKCS7_SIGINF_delete_ptr
#define sk_PKCS7_SIGNER_INFO_insert sk_PKCS7_SIGINF_insert
#define sk_PKCS7_SIGNER_INFO_set_cmp_func sk_PKCS7_SIGINF_set_cmp_func
#define sk_PKCS7_SIGNER_INFO_dup sk_PKCS7_SIGINF_dup
#define sk_PKCS7_SIGNER_INFO_pop_free sk_PKCS7_SIGINF_pop_free
#define sk_PKCS7_SIGNER_INFO_shift sk_PKCS7_SIGINF_shift
#define sk_PKCS7_SIGNER_INFO_pop sk_PKCS7_SIGINF_pop
#define sk_PKCS7_SIGNER_INFO_sort sk_PKCS7_SIGINF_sort
/* Hack the names created with DECLARE_STACK_OF(PKCS7_RECIP_INFO) */
#define sk_PKCS7_RECIP_INFO_new sk_PKCS7_RECINF_new
#define sk_PKCS7_RECIP_INFO_new_null sk_PKCS7_RECINF_new_null
#define sk_PKCS7_RECIP_INFO_free sk_PKCS7_RECINF_free
#define sk_PKCS7_RECIP_INFO_num sk_PKCS7_RECINF_num
#define sk_PKCS7_RECIP_INFO_value sk_PKCS7_RECINF_value
#define sk_PKCS7_RECIP_INFO_set sk_PKCS7_RECINF_set
#define sk_PKCS7_RECIP_INFO_zero sk_PKCS7_RECINF_zero
#define sk_PKCS7_RECIP_INFO_push sk_PKCS7_RECINF_push
#define sk_PKCS7_RECIP_INFO_unshift sk_PKCS7_RECINF_unshift
#define sk_PKCS7_RECIP_INFO_find sk_PKCS7_RECINF_find
#define sk_PKCS7_RECIP_INFO_delete sk_PKCS7_RECINF_delete
#define sk_PKCS7_RECIP_INFO_delete_ptr sk_PKCS7_RECINF_delete_ptr
#define sk_PKCS7_RECIP_INFO_insert sk_PKCS7_RECINF_insert
#define sk_PKCS7_RECIP_INFO_set_cmp_func sk_PKCS7_RECINF_set_cmp_func
#define sk_PKCS7_RECIP_INFO_dup sk_PKCS7_RECINF_dup
#define sk_PKCS7_RECIP_INFO_pop_free sk_PKCS7_RECINF_pop_free
#define sk_PKCS7_RECIP_INFO_shift sk_PKCS7_RECINF_shift
#define sk_PKCS7_RECIP_INFO_pop sk_PKCS7_RECINF_pop
#define sk_PKCS7_RECIP_INFO_sort sk_PKCS7_RECINF_sort
/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */
#define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF
#define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF
/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */
#define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECGINF
#define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECGINF
/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */
#define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQUENCE
#define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQUENCE
#define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQUENCE
#define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQUENCE
#define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQUENCE
/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */
#define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO
#define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO
#define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO
#define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO
#define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_write_cb_bio_P8_PRIV_KEY_INFO
#endif /* defined VMS */
#endif /* ! defined HEADER_VMS_IDHACKS_H */

View File

@ -158,14 +158,14 @@ $ LIB_FILES = "VERIFY;ASN1PARS;REQ;DGST;DH;ENC;GENDH;"+-
"RSA;DSA;DSAPARAM;"+- "RSA;DSA;DSAPARAM;"+-
"X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+- "X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+-
"S_TIME;APPS;S_CB;S_SOCKET;VERSION;SESS_ID;"+- "S_TIME;APPS;S_CB;S_SOCKET;VERSION;SESS_ID;"+-
"CIPHERS;NSEQ;PKCS12" "CIPHERS;NSEQ;PKCS12;PKCS8"
$ APP_FILES := OPENSSL,'OBJ_DIR'VERIFY.OBJ,ASN1PARS.OBJ,REQ.OBJ,DGST.OBJ,DH.OBJ,ENC.OBJ,GENDH.OBJ,- $ APP_FILES := OPENSSL,'OBJ_DIR'VERIFY.OBJ,ASN1PARS.OBJ,REQ.OBJ,DGST.OBJ,DH.OBJ,ENC.OBJ,GENDH.OBJ,-
ERRSTR.OBJ,CA.OBJ,- ERRSTR.OBJ,CA.OBJ,-
PKCS7.OBJ,CRL2P7.OBJ,CRL.OBJ,- PKCS7.OBJ,CRL2P7.OBJ,CRL.OBJ,-
RSA.OBJ,DSA.OBJ,DSAPARAM.OBJ,- RSA.OBJ,DSA.OBJ,DSAPARAM.OBJ,-
X509.OBJ,GENRSA.OBJ,GENDSA.OBJ,S_SERVER.OBJ,S_CLIENT.OBJ,SPEED.OBJ,- X509.OBJ,GENRSA.OBJ,GENDSA.OBJ,S_SERVER.OBJ,S_CLIENT.OBJ,SPEED.OBJ,-
S_TIME.OBJ,APPS.OBJ,S_CB.OBJ,S_SOCKET.OBJ,VERSION.OBJ,SESS_ID.OBJ,- S_TIME.OBJ,APPS.OBJ,S_CB.OBJ,S_SOCKET.OBJ,VERSION.OBJ,SESS_ID.OBJ,-
CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ,PKCS8.OBJ
$ TCPIP_PROGRAMS = ",," $ TCPIP_PROGRAMS = ",,"
$ IF COMPILER .EQS. "VAXC" THEN - $ IF COMPILER .EQS. "VAXC" THEN -
TCPIP_PROGRAMS = ",OPENSSL," TCPIP_PROGRAMS = ",OPENSSL,"
@ -900,7 +900,8 @@ $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler."
$! $!
$! Use GNU C... $! Use GNU C...
$! $!
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS $ IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC
$ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
$! $!
$! Define The Linker Options File Name. $! Define The Linker Options File Name.
$! $!

View File

@ -56,6 +56,7 @@
* *
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include <openssl/pem.h> #include <openssl/pem.h>
#include <openssl/err.h> #include <openssl/err.h>
#include <openssl/evp.h> #include <openssl/evp.h>

View File

@ -56,6 +56,13 @@
* [including the GNU Public Licence.] * [including the GNU Public Licence.]
*/ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef NO_STDIO
#define APPS_WIN16
#endif
/* With IPv6, it looks like Digital has mixed up the proper order of /* With IPv6, it looks like Digital has mixed up the proper order of
recursive header file inclusion, resulting in the compiler complaining recursive header file inclusion, resulting in the compiler complaining
that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@ -65,13 +72,7 @@
typedef unsigned int u_int; typedef unsigned int u_int;
#endif #endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define USE_SOCKETS #define USE_SOCKETS
#ifdef NO_STDIO
#define APPS_WIN16
#endif
#include "apps.h" #include "apps.h"
#include <openssl/x509.h> #include <openssl/x509.h>
#include <openssl/ssl.h> #include <openssl/ssl.h>

View File

@ -56,6 +56,15 @@
* [including the GNU Public Licence.] * [including the GNU Public Licence.]
*/ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef NO_STDIO
#define APPS_WIN16
#endif
/* With IPv6, it looks like Digital has mixed up the proper order of /* With IPv6, it looks like Digital has mixed up the proper order of
recursive header file inclusion, resulting in the compiler complaining recursive header file inclusion, resulting in the compiler complaining
that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@ -65,14 +74,6 @@
typedef unsigned int u_int; typedef unsigned int u_int;
#endif #endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef NO_STDIO
#define APPS_WIN16
#endif
#include <openssl/lhash.h> #include <openssl/lhash.h>
#include <openssl/bn.h> #include <openssl/bn.h>
#define USE_SOCKETS #define USE_SOCKETS

View File

@ -56,6 +56,12 @@
* [including the GNU Public Licence.] * [including the GNU Public Licence.]
*/ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <signal.h>
/* With IPv6, it looks like Digital has mixed up the proper order of /* With IPv6, it looks like Digital has mixed up the proper order of
recursive header file inclusion, resulting in the compiler complaining recursive header file inclusion, resulting in the compiler complaining
that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@ -65,11 +71,6 @@
typedef unsigned int u_int; typedef unsigned int u_int;
#endif #endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <signal.h>
#define USE_SOCKETS #define USE_SOCKETS
#define NON_MAIN #define NON_MAIN
#include "apps.h" #include "apps.h"

View File

@ -177,7 +177,7 @@ $ LIB_BN = "bn_add,bn_div,bn_exp,bn_lib,bn_mul,"+ -
"bn_gcd,bn_prime,bn_err,bn_sqr,"+LIB_BN_ASM+",bn_recp,bn_mont,"+ - "bn_gcd,bn_prime,bn_err,bn_sqr,"+LIB_BN_ASM+",bn_recp,bn_mont,"+ -
"bn_mpi,bn_exp2" "bn_mpi,bn_exp2"
$ LIB_RSA = "rsa_eay,rsa_gen,rsa_lib,rsa_sign,rsa_saos,rsa_err,"+ - $ LIB_RSA = "rsa_eay,rsa_gen,rsa_lib,rsa_sign,rsa_saos,rsa_err,"+ -
"rsa_pk1,rsa_ssl,rsa_none,rsa_oaep" "rsa_pk1,rsa_ssl,rsa_none,rsa_oaep,rsa_chk"
$ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,dsa_err" $ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,dsa_err"
$ LIB_DH = "dh_gen,dh_key,dh_lib,dh_check,dh_err" $ LIB_DH = "dh_gen,dh_key,dh_lib,dh_check,dh_err"
$ LIB_BUFFER = "buffer,buf_err" $ LIB_BUFFER = "buffer,buf_err"
@ -185,7 +185,7 @@ $ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ -
"bss_mem,bss_null,bss_fd,"+ - "bss_mem,bss_null,bss_fd,"+ -
"bss_file,bss_sock,bss_conn,"+ - "bss_file,bss_sock,bss_conn,"+ -
"bf_null,bf_buff,b_print,b_dump,"+ - "bf_null,bf_buff,b_print,b_dump,"+ -
"b_sock,bss_acpt,bf_nbio,bss_rtcp" ! + ",bss_log" for syslog "b_sock,bss_acpt,bf_nbio,bss_rtcp,bss_bio" ! + ",bss_log" for syslog
$ LIB_STACK = "stack" $ LIB_STACK = "stack"
$ LIB_LHASH = "lhash,lh_stats" $ LIB_LHASH = "lhash,lh_stats"
$ LIB_RAND = "md_rand,randfile,rand_lib" $ LIB_RAND = "md_rand,randfile,rand_lib"
@ -204,7 +204,7 @@ $ LIB_EVP_2 = "e_ecb_c,e_cbc_c,e_cfb_c,e_ofb_c,"+ -
"m_ripemd,"+ - "m_ripemd,"+ -
"p_open,p_seal,p_sign,p_verify,p_lib,p_enc,p_dec,"+ - "p_open,p_seal,p_sign,p_verify,p_lib,p_enc,p_dec,"+ -
"bio_md,bio_b64,bio_enc,evp_err,e_null,"+ - "bio_md,bio_b64,bio_enc,evp_err,e_null,"+ -
"c_all,evp_lib,bio_ok,evp_pkey,evp_pbe" "c_all,evp_lib,bio_ok,evp_pkey,evp_pbe,p5_crpt,p5_crpt2"
$ LIB_ASN1 = "a_object,a_bitstr,a_utctm,a_gentm,a_time,a_int,a_octet,"+ - $ LIB_ASN1 = "a_object,a_bitstr,a_utctm,a_gentm,a_time,a_int,a_octet,"+ -
"a_print,a_type,a_set,a_dup,a_d2i_fp,a_i2d_fp,a_bmp,"+ - "a_print,a_type,a_set,a_dup,a_d2i_fp,a_i2d_fp,a_bmp,"+ -
"a_enum,a_vis,a_utf8,a_sign,a_digest,a_verify,"+ - "a_enum,a_vis,a_utf8,a_sign,a_digest,a_verify,"+ -

View File

@ -430,11 +430,13 @@ $!
$! Compile The DES Program. $! Compile The DES Program.
$! $!
$ CC/OBJECT='OBJ_DIR'DES.OBJ SYS$DISK:[]DES.C $ CC/OBJECT='OBJ_DIR'DES.OBJ SYS$DISK:[]DES.C
$ CC/OBJECT='OBJ_DIR'DES.OBJ SYS$DISK:[]CBC3_ENC.C
$! $!
$! Link The DES Program. $! Link The DES Program.
$! $!
$ LINK/'DEBUGGER'/'TRACEBACK'/CONTIGUOUS/EXE='EXE_DIR'DES.EXE - $ LINK/'DEBUGGER'/'TRACEBACK'/CONTIGUOUS/EXE='EXE_DIR'DES.EXE -
'OBJ_DIR'DES.OBJ,'LIB_NAME'/LIBRARY,'OPT_FILE'/OPTION 'OBJ_DIR'DES.OBJ,'OBJ_DIR'CBC3_ENC.OBJ,-
'LIB_NAME'/LIBRARY,'OPT_FILE'/OPTION
$! $!
$! All Done, Time To Return. $! All Done, Time To Return.
$! $!

View File

@ -67,6 +67,10 @@ extern "C" {
#error DES is disabled. #error DES is disabled.
#endif #endif
#ifdef _KERBEROS_DES_H
#error kerberos/des.h and openssl/des.h
#endif
#include <stdio.h> #include <stdio.h>
#include <openssl/opensslconf.h> /* DES_LONG */ #include <openssl/opensslconf.h> /* DES_LONG */
#include <openssl/e_os2.h> /* OPENSSL_EXTERN */ #include <openssl/e_os2.h> /* OPENSSL_EXTERN */
@ -116,11 +120,11 @@ typedef struct des_ks_struct
#define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ #define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \
des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n))
#define Key_schedule des_key_schedule
#ifdef KERBEROS #ifdef KERBEROS
#define ENCRYPT DES_ENCRYPT #define ENCRYPT DES_ENCRYPT
#define DECRYPT DES_DECRYPT #define DECRYPT DES_DECRYPT
#endif #endif
#define KEY_SZ DES_KEY_SZ #define KEY_SZ DES_KEY_SZ
#define string_to_key des_string_to_key #define string_to_key des_string_to_key
#define read_pw_string des_read_pw_string #define read_pw_string des_read_pw_string

View File

@ -38,7 +38,7 @@ $ SDIRS := ,MD2,MD5,SHA,MDC2,HMAC,RIPEMD,-
BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,- BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,-
EVP,ASN1,PEM,X509,X509V3,- EVP,ASN1,PEM,X509,X509V3,-
CONF,TXT_DB,PKCS7,PKCS12,COMP CONF,TXT_DB,PKCS7,PKCS12,COMP
$ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h $ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h
$ EXHEADER_MD2 := md2.h $ EXHEADER_MD2 := md2.h
$ EXHEADER_MD5 := md5.h $ EXHEADER_MD5 := md5.h
$ EXHEADER_SHA := sha.h $ EXHEADER_SHA := sha.h

View File

@ -522,6 +522,10 @@ void PEM_dek_info(char *buf, const char *type, int len, char *str);
#ifndef SSLEAY_MACROS #ifndef SSLEAY_MACROS
#ifdef VMS
#include <openssl/vms_idhacks.h>
#endif
DECLARE_PEM_rw(X509, X509) DECLARE_PEM_rw(X509, X509)
DECLARE_PEM_rw(X509_REQ, X509_REQ) DECLARE_PEM_rw(X509_REQ, X509_REQ)
@ -560,16 +564,6 @@ DECLARE_PEM_rw(DHparams, DH)
DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY)
#ifdef VMS
/* Too long names need to be abbreviated to at most 31 characters */
#undef PEM_write_NETSCAPE_CERT_SEQUENCE
#define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NETSCAPE_CERT_SEQ
#undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE
#define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NETSCAPE_CERT_SEQ
#undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE
#define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NETSCAPE_CERT_SEQ
#endif
int PEM_write_PKCS8PrivateKey(FILE *fp,EVP_PKEY *x,const EVP_CIPHER *enc, int PEM_write_PKCS8PrivateKey(FILE *fp,EVP_PKEY *x,const EVP_CIPHER *enc,
char *kstr,int klen, pem_password_cb *cd, void *u); char *kstr,int klen, pem_password_cb *cd, void *u);
#endif /* SSLEAY_MACROS */ #endif /* SSLEAY_MACROS */

View File

@ -66,6 +66,10 @@ extern "C" {
#include <openssl/bio.h> #include <openssl/bio.h>
#include <openssl/x509.h> #include <openssl/x509.h>
#ifdef VMS
#include <openssl/vms_idhacks.h>
#endif
#ifdef WIN32 #ifdef WIN32
/* Under Win32 this is defined in wincrypt.h */ /* Under Win32 this is defined in wincrypt.h */
#undef PKCS7_ISSUER_AND_SERIAL #undef PKCS7_ISSUER_AND_SERIAL

View File

@ -17,7 +17,7 @@ $!
$! Specify one of the following build options for P1. $! Specify one of the following build options for P1.
$! $!
$! ALL Just build "everything". $! ALL Just build "everything".
$! DATE Just build the "[.INCLUDE.OPENSSL]DATE.H" file. $! BUILDINF Just build the "[.CRYPTO]BUILDINF.H" file.
$! SOFTLINKS Just fix the Unix soft links. $! SOFTLINKS Just fix the Unix soft links.
$! RSAREF Just build the "[.xxx.EXE.RSAREF]LIBRSAGLUE.OLB" library. $! RSAREF Just build the "[.xxx.EXE.RSAREF]LIBRSAGLUE.OLB" library.
$! CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library. $! CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
@ -96,9 +96,9 @@ $! First, Fix The Unix Softlinks.
$! $!
$ GOSUB SOFTLINKS $ GOSUB SOFTLINKS
$! $!
$! Create The "DATE.H" Include File. $! Create The "BUILDINF.H" Include File.
$! $!
$ GOSUB DATE $ GOSUB BUILDINF
$! $!
$! Check To See If We Are Going To Be Building The $! Check To See If We Are Going To Be Building The
$! [.xxx.EXE.RSAREF]LIBRSAGLUE.OLB Library. $! [.xxx.EXE.RSAREF]LIBRSAGLUE.OLB Library.
@ -147,27 +147,29 @@ $! Time To EXIT.
$! $!
$ EXIT $ EXIT
$! $!
$! Rebuild The "[.INCLUDE.OPENSSL]DATE.H" file. $! Rebuild The "[.CRYPTO]BUILDINF.H" file.
$! $!
$ DATE: $ BUILDINF:
$! $!
$! Tell The User We Are Creating The [.CRYPTO]DATE.H File. $! Tell The User We Are Creating The [.CRYPTO]BUILDINF.H File.
$! $!
$ WRITE SYS$OUTPUT "Creating [.CRYPTO]DATE.H Include File." $ WRITE SYS$OUTPUT "Creating [.CRYPTO]BUILDINF.H Include File."
$! $!
$! Create The [.CRYPTO]DATE.H File. $! Create The [.CRYPTO]BUILDINF.H File.
$! $!
$ OPEN/WRITE H_FILE SYS$DISK:[.CRYPTO]DATE.H $ OPEN/WRITE H_FILE SYS$DISK:[.CRYPTO]BUILDINF.H
$! $!
$! Get The Current Date & Time. $! Get The Current Date & Time.
$! $!
$ TIME = F$TIME() $ TIME = F$TIME()
$! $!
$! Write The [.CRYPTO]DATE.H File. $! Write The [.CRYPTO]BUILDINF.H File.
$! $!
$ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */"
$ WRITE H_FILE "#define PLATFORM ""VMS"""
$ WRITE H_FILE "#define DATE ""''TIME'"" " $ WRITE H_FILE "#define DATE ""''TIME'"" "
$! $!
$! Close The [.CRYPTO]DATE.H File. $! Close The [.CRYPTO]BUILDINF.H File.
$! $!
$ CLOSE H_FILE $ CLOSE H_FILE
$! $!
@ -232,7 +234,7 @@ $ SDIRS := ,MD2,MD5,SHA,MDC2,HMAC,RIPEMD,-
BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,- BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,-
EVP,ASN1,PEM,X509,X509V3,- EVP,ASN1,PEM,X509,X509V3,-
CONF,TXT_DB,PKCS7,PKCS12,COMP CONF,TXT_DB,PKCS7,PKCS12,COMP
$ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h $ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h
$ EXHEADER_MD2 := md2.h $ EXHEADER_MD2 := md2.h
$ EXHEADER_MD5 := md5.h $ EXHEADER_MD5 := md5.h
$ EXHEADER_SHA := sha.h $ EXHEADER_SHA := sha.h
@ -293,6 +295,11 @@ $!
$ EXHEADER := ssl.h,ssl2.h,ssl3.h,ssl23.h,tls1.h $ EXHEADER := ssl.h,ssl2.h,ssl3.h,ssl23.h,tls1.h
$ COPY SYS$DISK:[.SSL]'EXHEADER' SYS$DISK:[.INCLUDE.OPENSSL] $ COPY SYS$DISK:[.SSL]'EXHEADER' SYS$DISK:[.INCLUDE.OPENSSL]
$! $!
$! Copy All The ".H" Files From The [.VMS] Directory.
$!
$ EXHEADER := vms_idhacks.h
$ COPY SYS$DISK:[.VMS]'EXHEADER' SYS$DISK:[.INCLUDE.OPENSSL]
$!
$! Purge all doubles $! Purge all doubles
$! $!
$ PURGE SYS$DISK:[.INCLUDE.OPENSSL]*.H $ PURGE SYS$DISK:[.INCLUDE.OPENSSL]*.H
@ -470,7 +477,7 @@ $ ELSE
$! $!
$! Else, Check To See If P1 Has A Valid Arguement. $! Else, Check To See If P1 Has A Valid Arguement.
$! $!
$ IF (P1.EQS."DATE").OR.(P1.EQS."SOFTLINKS").OR.(P1.EQS."CRYPTO") - $ IF (P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS").OR.(P1.EQS."CRYPTO") -
.OR.(P1.EQS."SSL").OR.(P1.EQS."RSAREF").OR.(P1.EQS."SSL_TASK") - .OR.(P1.EQS."SSL").OR.(P1.EQS."RSAREF").OR.(P1.EQS."SSL_TASK") -
.OR.(P1.EQS."TEST").OR.(P1.EQS."APPS") .OR.(P1.EQS."TEST").OR.(P1.EQS."APPS")
$ THEN $ THEN
@ -489,7 +496,7 @@ $ WRITE SYS$OUTPUT ""
$ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:" $ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:"
$ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT ""
$ WRITE SYS$OUTPUT " ALL : Just Build Everything." $ WRITE SYS$OUTPUT " ALL : Just Build Everything."
$ WRITE SYS$OUTPUT " DATE : Just build the [.INCLUDE.OPENSSL]DATE.H file." $ WRITE SYS$OUTPUT " BUILDINF : Just build the [.CRYPTO]BUILDINF.H file."
$ WRITE SYS$OUTPUT " SOFTLINKS: Just Fix The Unix soft links." $ WRITE SYS$OUTPUT " SOFTLINKS: Just Fix The Unix soft links."
$ WRITE SYS$OUTPUT " RSAREF : To Build Just The [.xxx.EXE.RSAREF]LIBRSAGLUE.OLB Library." $ WRITE SYS$OUTPUT " RSAREF : To Build Just The [.xxx.EXE.RSAREF]LIBRSAGLUE.OLB Library."
$ WRITE SYS$OUTPUT " CRYPTO : To Build Just The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library." $ WRITE SYS$OUTPUT " CRYPTO : To Build Just The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library."

View File

@ -806,7 +806,8 @@ $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler."
$! $!
$! Use GNU C... $! Use GNU C...
$! $!
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - $ IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC
$ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
"/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[.SOURCE])" + CCEXTRAFLAGS "/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[.SOURCE])" + CCEXTRAFLAGS
$! $!
$! Define The Linker Options File Name. $! Define The Linker Options File Name.

View File

@ -992,7 +992,8 @@ $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler."
$! $!
$! Use GNU C... $! Use GNU C...
$! $!
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - $ IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC
$ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
"/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[.SOURCE])" + CCEXTRAFLAGS "/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[.SOURCE])" + CCEXTRAFLAGS
$! $!
$! Define The Linker Options File Name. $! Define The Linker Options File Name.

View File

@ -965,6 +965,10 @@ X509 * SSL_get_peer_certificate(SSL *s);
STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s); STACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s);
#ifdef VMS
#define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud
#endif
int SSL_CTX_get_verify_mode(SSL_CTX *ctx); int SSL_CTX_get_verify_mode(SSL_CTX *ctx);
int SSL_CTX_get_verify_depth(SSL_CTX *ctx); int SSL_CTX_get_verify_depth(SSL_CTX *ctx);
int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(int,X509_STORE_CTX *); int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(int,X509_STORE_CTX *);

View File

@ -9,7 +9,9 @@ $ KEY = 512
$ CA := [-.certs]testca.pem $ CA := [-.certs]testca.pem
$ $
$ set noon $ set noon
$ delete 'T'.1;*,'T'.2;*,'T'.key;* $ if f$search(T+".1;*") .nes. "" then delete 'T'.1;*
$ if f$search(T+".2;*") .nes. "" then delete 'T'.2;*
$ if f$search(T+".key;*") .nes. "" then delete 'T'.key;*
$ set on $ set on
$ $
$ write sys$output "generating certificate request" $ write sys$output "generating certificate request"

View File

@ -8,6 +8,7 @@ $ digest="-mdc2"
$ reqcmd := mcr 'exe_dir'openssl req $ reqcmd := mcr 'exe_dir'openssl req
$ x509cmd := mcr 'exe_dir'openssl x509 'digest' $ x509cmd := mcr 'exe_dir'openssl x509 'digest'
$ verifycmd := mcr 'exe_dir'openssl verify $ verifycmd := mcr 'exe_dir'openssl verify
$ dummycnf := sys$disk:[-.apps]openssl-vms.cnf
$ $
$ CAkey="""keyCA.ss""" $ CAkey="""keyCA.ss"""
$ CAcert="""certCA.ss""" $ CAcert="""certCA.ss"""
@ -48,14 +49,14 @@ $ write sys$output "error using 'x509' convert a certificate to a certificate r
$ exit 3 $ exit 3
$ endif $ endif
$ $
$ 'reqcmd' -verify -in 'CAreq' -noout $ 'reqcmd' -config 'dummycnf' -verify -in 'CAreq' -noout
$ if $severity .ne. 1 $ if $severity .ne. 1
$ then $ then
$ write sys$output "first generated request is invalid" $ write sys$output "first generated request is invalid"
$ exit 3 $ exit 3
$ endif $ endif
$ $
$ 'reqcmd' -verify -in 'CAreq2' -noout $ 'reqcmd' -config 'dummycnf' -verify -in 'CAreq2' -noout
$ if $severity .ne. 1 $ if $severity .ne. 1
$ then $ then
$ write sys$output "second generated request is invalid" $ write sys$output "second generated request is invalid"
@ -101,4 +102,4 @@ $
$ write sys$output "The generated user certificate is ",Ucert $ write sys$output "The generated user certificate is ",Ucert
$ write sys$output "The generated user private key is ",Ukey $ write sys$output "The generated user private key is ",Ukey
$ $
$ delete err.ss;* $ if f$search("err.ss;*") .nes. "" then delete err.ss;*

View File

@ -54,6 +54,54 @@ $ write sys$output "test sslv2/sslv3 with both client and server authentication"
$ mcr 'exe_dir'ssltest -server_auth -client_auth "-CAfile" certs.tmp $ mcr 'exe_dir'ssltest -server_auth -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3 $ if $severity .ne. 1 then goto exit3
$ $
$ write sys$output "test sslv2 via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl2
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2 with server authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -server_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2 with client authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2 with both client and server authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl2 -server_auth -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv3 via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl3
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv3 with server authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -server_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv3 with client authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$ write sys$output "test sslv3 with both client and server authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -ssl3 -server_auth -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2/sslv3 via BIO pair"
$ mcr 'exe_dir'ssltest
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2/sslv3 with server authentication"
$ mcr 'exe_dir'ssltest -bio_pair -server_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2/sslv3 with client authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ write sys$output "test sslv2/sslv3 with both client and server authentication via BIO pair"
$ mcr 'exe_dir'ssltest -bio_pair -server_auth -client_auth "-CAfile" certs.tmp
$ if $severity .ne. 1 then goto exit3
$
$ RET = 1 $ RET = 1
$ goto exit $ goto exit
$ exit3: $ exit3:

View File

@ -4,7 +4,7 @@ $ __arch := VAX
$ if f$getsyi("cpu") .ge. 128 then __arch := AXP $ if f$getsyi("cpu") .ge. 128 then __arch := AXP
$ exe_dir := sys$disk:[-.'__arch'.exe.apps] $ exe_dir := sys$disk:[-.'__arch'.exe.apps]
$ $
$ cmd := mcr 'exe_dir'openssl req $ cmd := mcr 'exe_dir'openssl req -config [-.apps]openssl-vms.cnf
$ $
$ t := testreq.pem $ t := testreq.pem
$ if p1 .nes. "" then t = p1 $ if p1 .nes. "" then t = p1