#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#ifdef NO_STDIO
+#ifdef OPENSSL_NO_STDIO
#define APPS_WIN16
#endif
#include "apps.h"
if (bio_err == NULL)
bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
STDout=BIO_new_fp(stdout,BIO_NOCLOSE);
-#ifdef VMS
+#ifdef OPENSSL_SYS_VMS
{
BIO *tmpbio = BIO_new(BIO_f_linebuffer());
STDout = BIO_push(tmpbio, STDout);
if (outfile == NULL)
{
BIO_set_fp(out,stdout,BIO_NOCLOSE);
-#ifdef VMS
+#ifdef OPENSSL_SYS_VMS
{
BIO *tmpbio = BIO_new(BIO_f_linebuffer());
out = BIO_push(tmpbio, out);
goto end;
}
BIO_printf(STDout,"Modulus=");
-#ifndef NO_RSA
+#ifndef OPENSSL_NO_RSA
if (pkey->type == EVP_PKEY_RSA)
BN_print(STDout,pkey->pkey.rsa->n);
else
#endif
-#ifndef NO_DSA
+#ifndef OPENSSL_NO_DSA
if (pkey->type == EVP_PKEY_DSA)
BN_print(STDout,pkey->pkey.dsa->pub_key);
else
keyfile,keyformat, passin, e);
if (Upkey == NULL) goto end;
}
-#ifndef NO_DSA
+#ifndef OPENSSL_NO_DSA
if (Upkey->type == EVP_PKEY_DSA)
digest=EVP_dss1();
#endif
e);
if (CApkey == NULL) goto end;
}
-#ifndef NO_DSA
+#ifndef OPENSSL_NO_DSA
if (CApkey->type == EVP_PKEY_DSA)
digest=EVP_dss1();
#endif
{
char *buf = NULL, *p;
MS_STATIC char buf2[1024];
- ASN1_INTEGER *bs = NULL, bs2;
+ ASN1_INTEGER *bs = NULL, *bs2 = NULL;
BIO *io = NULL;
- BIGNUM *serial;
+ BIGNUM *serial = NULL;
+
buf=OPENSSL_malloc( ((serialfile == NULL)
?(strlen(CAfile)+strlen(POSTFIX)+1)
:(strlen(serialfile)))+1);
if (!BN_add_word(serial,1))
{ BIO_printf(bio_err,"add_word failure\n"); goto end; }
- bs2.data=(unsigned char *)buf2;
- bs2.length=BN_bn2bin(serial,bs2.data);
-
+ if (!(bs2 = BN_to_ASN1_INTEGER(serial, NULL)))
+ { BIO_printf(bio_err,"error converting bn 2 asn1_integer\n"); goto end; }
if (BIO_write_filename(io,buf) <= 0)
{
BIO_printf(bio_err,"error attempting to write serial number file\n");
perror(buf);
goto end;
}
- i2a_ASN1_INTEGER(io,&bs2);
+ i2a_ASN1_INTEGER(io,bs2);
BIO_puts(io,"\n");
+
BIO_free(io);
+ if (buf) OPENSSL_free(buf);
+ ASN1_INTEGER_free(bs2);
+ BN_free(serial);
io=NULL;
return bs;
end:
+ if (buf) OPENSSL_free(buf);
BIO_free(io);
ASN1_INTEGER_free(bs);
BN_free(serial);
}
return 1;
}
-
-
-